gui里面使用HotKeySet做快捷键的问题
本帖最后由 landays 于 2009-5-21 23:28 编辑写个小软件时遇到点问题。特来求助
就是我在gui里面使用HotKeySet做快捷键时
使用快捷键来操作,必须移动一下窗口脚本才会执行下一步操作
用鼠标则完全没问题。。麻烦大家帮我看看
谢谢
大概脚本如下:
HotKeySet("!a", "bc")
HotKeySet("!s", "dq")
HotKeySet("!x", "zc")
While 1
Case $nMsg = $GUI_EVENT_CLOSE
Case $nMsg = $Radio1
Case $nMsg = $Radio2
Case $nMsg = $Button1
EndSelect
WEnd
;热键调用
Func bc()
$nMsg = $Button1
EndFunc
Func dq()
$nMsg = $Button2
EndFunc
Func zc()
$nMsg = $Button3
EndFunc 1# landays #include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 447, 192, 124)
$Radio1 = GUICtrlCreateRadio("&Radio1", 104, 48, 257, 33)
$Radio2 = GUICtrlCreateRadio("R&adio2", 104, 96, 257, 33)
$Checkbox1 = GUICtrlCreateCheckbox("&Checkbox1", 96, 160, 273, 41)
$Button1 = GUICtrlCreateButton("Button&1", 80, 304, 177, 49, $WS_GROUP)
$Button2 = GUICtrlCreateButton("Button&2", 296, 296, 225, 49, $WS_GROUP)
$Button3 = GUICtrlCreateButton("Button&3", 296, 224, 225, 49, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $Button1
MsgBox(0,0,"按钮1")
case $Button2
MsgBox(0,0,"按钮2")
case $Button3
MsgBox(0,0,"按钮3")
EndSwitch
WEnd 本帖最后由 landays 于 2009-5-21 22:13 编辑
您没看明白我的意思..
gui窗口我已经画出来了
其中有3个按钮是 保存、读取、注册
我用HotKeySet("!a", "bc") 作为快捷键
键盘点击ALT+A来 呼叫”保存“按钮
但是用键盘来点击 “保存”后,脚本没任何反应
必须移动一下gui窗口,脚本才会执行下一步动作。
用鼠标去点击 “保存” 则没有这问题 按钮的热键在AU3里已经安排好。确实需要另外定义吗? 呃不好意思,我没听明白您的意思 运行我的代码,你用热键ALT+1,看看是否是按了“按钮1” To: landays 朋友:
“顽固不化”朋友的意思是像你这种带按钮要热键的情况下是没有必要特别去声明热键的,只要加个&符号就可以简单地声明了;
至于你遇到的说声明的热键导致脚本暂停的情况,我也不是很明白(我似乎没遇到过),所以建议你尝试把你脚本完整地贴出来,或者不方便的话,请提取出有疑问的部分脚本为一个单独可实验的脚本,然后再看有没有问题,也许这样尝试一下,你自己也能发现问题所在;当然,如果提取出来的脚本仍然有上述问题存在,请贴上来,我们尽力而为。 问题解决了。。感谢 1# 顽固不化
7# KiwiCsj
很感谢你们关注我的问题
我用了Button&1来声明按钮热键,必须拖动窗口才可执行下一步脚本的问题解决了。
至于其中的关键,我也想不明白。。可能是我用HotKeySet声明热键的缘故吧
脚本倒不是不方便贴出来,只是写的太乱,太杂了,不好意思贴出来,我正在尝试优化脚本。
不过您要看,我可以发给你看下。 學習囉!~...很棒的教學
页:
[1]