求助: 如何在拖动滑动块时就产生事件,而不是放开后产生事件! [已解决]
本帖最后由 dreamneo 于 2012-7-4 22:48 编辑用 GuiGetMsg() 方式是在松开滑块后才产生事件,如何让在拖动滑块的过程(值变化时)就产生事件!还有类似的就是在Input控件中,输入内容的同时就产生事件?
新手,不会,请教教我,谢谢!{:face (270):} 回复 1# dreamneo
'松开'滑块其实就是松开鼠标左键. 所以应该监测鼠标的操作, 可以注册鼠标点击的系统信息.
但AU3窗口程序已经集成了个有用函数, 所以可以取下巧.#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $x = 0
$Form1 = GUICreate("Slider Test", 307, 125)
$Label1 = GUICtrlCreateLabel("0", 130, 32, 80, 17)
$Slider1 = GUICtrlCreateSlider(64, 58, 177, 65)
GUISetState(@SW_SHOW)
While 1
$m = GUIGetCursorInfo($Form1)
$p = WinGetPos('Slider Test')
If IsArray($m) Then
If $m = $Slider1 And $m = 1 And $m <> $x Then
GUICtrlSetData($Label1, GUICtrlRead($Slider1))
$x = $m
Endif
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Slider1
GUICtrlSetData($Label1, GUICtrlRead($Slider1))
EndSwitch
WEnd关于另一问题, input 控件的, 论坛上已有很多帖子, 请自行搜索学习! 楼上太厉害了,太感谢了,自己还需慢慢研究,谢谢!
页:
[1]