找回密码
 加入
搜索
查看: 2003|回复: 2

[AU3基础] 求助: 如何在拖动滑动块时就产生事件,而不是放开后产生事件! [已解决]

[复制链接]
发表于 2012-7-3 22:14:30 | 显示全部楼层 |阅读模式
本帖最后由 dreamneo 于 2012-7-4 22:48 编辑

用 GuiGetMsg() 方式是在松开滑块后才产生事件,如何让在拖动滑块的过程(值变化时)就产生事件!还有类似的就是在Input控件中,输入内容的同时就产生事件?
新手,不会,请教教我,谢谢!
发表于 2012-7-4 15:53:59 | 显示全部楼层
回复 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[4] = $Slider1 And $m[2] = 1 And $m[0] <> $x Then 
                GUICtrlSetData($Label1, GUICtrlRead($Slider1))
                $x = $m[0]
                Endif
        EndIf
        
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Slider1
                        GUICtrlSetData($Label1, GUICtrlRead($Slider1))
        EndSwitch
WEnd
关于另一问题, input 控件的, 论坛上已有很多帖子, 请自行搜索学习!
 楼主| 发表于 2012-7-4 22:31:30 | 显示全部楼层
楼上太厉害了,太感谢了,自己还需慢慢研究,谢谢!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-30 07:20 , Processed in 0.084425 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表