找回密码
 加入
搜索
查看: 1915|回复: 9

gui里面使用HotKeySet做快捷键的问题

[复制链接]
发表于 2009-5-21 18:29:45 | 显示全部楼层 |阅读模式
本帖最后由 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
发表于 2009-5-21 21:49:01 | 显示全部楼层
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
 楼主| 发表于 2009-5-21 22:12:16 | 显示全部楼层
本帖最后由 landays 于 2009-5-21 22:13 编辑

您没看明白我的意思..
gui窗口我已经画出来了
其中有3个按钮是 保存、读取、注册

我用HotKeySet("!a", "bc") 作为快捷键
键盘点击ALT+A来 呼叫”保存“按钮
但是用键盘来点击 “保存”后,脚本没任何反应
必须移动一下gui窗口,脚本才会执行下一步动作。

用鼠标去点击 “保存” 则没有这问题
发表于 2009-5-21 22:17:35 | 显示全部楼层
按钮的热键在AU3里已经安排好。确实需要另外定义吗?
 楼主| 发表于 2009-5-21 22:25:35 | 显示全部楼层
呃不好意思,我没听明白您的意思
发表于 2009-5-21 22:50:46 | 显示全部楼层
运行我的代码,你用热键ALT+1,看看是否是按了“按钮1”
发表于 2009-5-21 23:07:27 | 显示全部楼层
To: landays 朋友:
“顽固不化”朋友的意思是像你这种带按钮要热键的情况下是没有必要特别去声明热键的,只要加个&符号就可以简单地声明了;
  至于你遇到的说声明的热键导致脚本暂停的情况,我也不是很明白(我似乎没遇到过),所以建议你尝试把你脚本完整地贴出来,或者不方便的话,请提取出有疑问的部分脚本为一个单独可实验的脚本,然后再看有没有问题,也许这样尝试一下,你自己也能发现问题所在;当然,如果提取出来的脚本仍然有上述问题存在,请贴上来,我们尽力而为。
 楼主| 发表于 2009-5-21 23:28:46 | 显示全部楼层
问题解决了。。感谢
 楼主| 发表于 2009-5-21 23:37:22 | 显示全部楼层
1# 顽固不化
7# KiwiCsj
很感谢你们关注我的问题
我用了Button&1来声明按钮热键,必须拖动窗口才可执行下一步脚本的问题解决了。
至于其中的关键,我也想不明白。。可能是我用HotKeySet声明热键的缘故吧
脚本倒不是不方便贴出来,只是写的太乱,太杂了,不好意思贴出来,我正在尝试优化脚本。
不过您要看,我可以发给你看下。
发表于 2013-6-7 21:57:42 | 显示全部楼层
學習囉!~...很棒的教學
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-29 03:35 , Processed in 0.092313 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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