我正在使用AutoHotkey GUI + ListBox从各种选项中选择一个选项,但我找不到一种方法来使RETURN键关闭GUI而不创建一个带有相关ButtonOk事件的附加默认按钮。这是我使用默认按钮的代码:
Gui, +LastFound +AlwaysOnTop -Caption
Gui, Add, ListBox, vMyListBox gMyListBox w300 r10
Gui, Add, Button, Default, OK
GuiControl,, MyListBox, Option 1
GuiControl,, MyListBox, Option 2
GuiControl,, MyListBox, Option 3
Gui, Show
return
MyListBox:
if A_GuiEvent <> DoubleClick
return
ButtonOK:
GuiControlGet, MyListBox
Gui Hide
MsgBox %MyListBox% selected!
ExitApp
GuiClose:
GuiEscape:
ExitApp
答案 0 :(得分:2)
当GUI可见时,您可以使用the Hotkey command暂时启用Return作为热键,并在gui关闭时禁用它。
答案 1 :(得分:1)
您可以监控WM_KEYDOWN消息。在自动执行部分:
OnMessage(0x100, "OnKeyDown")
然后在剧本的其他地方:
OnKeyDown(wParam)
{
if (A_Gui = 1 && wParam = 13) ; VK_ENTER := 13
{
GuiControlGet, MyListBox
Gui Hide
MsgBox %MyListBox% selected!
ExitApp
}
}