求解这个进度条问题
本帖最后由 sunny617 于 2009-7-29 19:00 编辑http://www.autoitx.com/forum.php?mod=viewthread&tid=4732&extra=&highlight=%BD%F8%B6%C8%CC%F5&page=1
这是别人的贴子。。。 我提了上来。。发现当我移动GUI时。。进度条就会停止运行?
求解 Case $nMsg = $GUI_EVENT_PRIMARYDOWN
AdlibDisable()
鼠标主按钮按下就停止了 $GUI_EVENT_PRIMARYDOWN
是什么..没查到? $GUI_EVENT_PRIMARYDOWN
鼠标左键按下产生的事件,拖窗口肯定左键按下了。 但是如果移动窗口...肯定会有鼠标事件的
:face (3): 可以改写成在窗口用户区点击就停呀。 如果需要,最好是改成点击某个控件再停止 #Region ;**** 参数创建于 AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=Change.ico
#EndRegion;**** 参数创建于 ACNWrapper_GUI ****
#EndRegion;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstantsEx.au3>
$Form = GUICreate("倒计时&进度条示例", 280, 230, 195, 125)
GUISetState(@SW_SHOW)
;倒计时进度条
Global $time = 8
#Region ### START Koda GUI section ### Form=
$Label5 = GUICtrlCreateLabel($time & "秒后自动放弃操作!", 30, 168, 200, 25)
GUICtrlSetColor($Label5, 0x8A2BE2)
GUICtrlSetFont($Label5, 10)
$Progress1 = GUICtrlCreateProgress(20, 195, 230, 10)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
AdlibRegister("_timer", 1000)
Func _timer()
$time -= 1
GUICtrlSetData($Label5, $time & "秒后自动放弃操作!!")
GUICtrlSetData($Progress1, (10 - $time) / 0.1)
If $time <= 0 Then Exit
EndFunc ;==>_timer
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $Form, "int", 500, "long", 0x00090000)
Exit
Case $nMsg = $GUI_EVENT_PRIMARYDOWN
$XY=GUIGetCursorInfo()
If $xy>0 And $XY<280 And $XY>0 And $XY<230 Then
AdlibUnRegister("_timer")
GUICtrlSetState($Progress1, $GUI_DISABLE)
EndIf
EndSelect
WEnd $GUI_EVENT_PRIMARYDOWN
嗯,,学习了..... 谢谢,8楼的代码正需要 谢谢,8楼的代码正需要 看到你们的交流,真的是比较惭愧。哎!努力学习!
页:
[1]