fenhanxue 发表于 2017-6-22 01:17:43

系统消息代码里,如何判断鼠标滚轮是向上还是向下?[已解决]

本帖最后由 fenhanxue 于 2017-6-22 12:07 编辑

想知道如何判断鼠标滚动是向上滚动还是向下滚动?

代码如下:#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
;$WM_MOUSEWHEEL=0x020A
$Form1 = GUICreate("Form1", 348, 166, 320, 125)
GUIRegisterMsg ($WM_MOUSEWHEEL, "WM_MOUSEWHEEL" )



GUISetState(@SW_SHOW)

While 1
      $nMsg = GUIGetMsg()
      Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

      EndSwitch
WEnd
Func WM_MOUSEWHEEL($hWndGUI, $MsgID, $WParam, $LParam)
      If $hWndGUI=$Form1 Then MsgBox(0,"您转动了鼠标.","但是我不知道你是向上滚动还是向下滚动,我怎样才能知道?")
EndFunc
答案见4楼

524443834 发表于 2017-6-22 07:38:41

WINDOWS消息里有向上或向下的函数,你现在注册的是当滚轮有变化时运行函数,应该注册向上或者向下怎么样,或者在你的FUNC加上IF判断

lin6051 发表于 2017-6-22 08:32:29

论坛 搜索一大堆

kk_lee69 发表于 2017-6-22 11:53:42

回复 1# fenhanxue

加上這個就可以了

            If BitShift($wParam, 16) > 0 Then ;Wheel up

            Else ;-----------------------------Wheel down
      
            EndIf

kk_lee69 发表于 2017-6-22 11:54:59

本帖最后由 kk_lee69 于 2017-6-22 12:03 编辑

回复 2# 524443834

我是沒找到我找了半天也沒找到滾輪變化 向上或者 向下的消息....

滾輪 的向上向下應該跟按下的 UP 跟 DOWN不一樣

fenhanxue 发表于 2017-6-22 12:05:59

回复 2# 524443834


    是啊,翻阅了帮助文档:Windows Message Codes(系统消息代码)
这一页的提示,可能眼拙,只找到WM_MOUSEWHEEL,没找到向上和向下,对系统消息这一块也不是很懂,所以来论坛求助

fenhanxue 发表于 2017-6-22 12:06:31

回复 4# kk_lee69


    非常感谢KK,

kk_lee69 发表于 2017-6-22 23:18:47

留個腳印MacGyver

netgogo 发表于 2017-7-6 21:08:42

有用,留个印记!
页: [1]
查看完整版本: 系统消息代码里,如何判断鼠标滚轮是向上还是向下?[已解决]