Autohotkey 通过Authohotkey控制事件处理?
我正在编写一个自动热键脚本,需要在其中处理控制事件。更具体地说,我有一个编辑和一个好友上下控件。当用户在编辑中按Enter键时,我需要响应/处理事件,或者作为另一个示例,我需要响应由上/下控制引起的更改(用户使用箭头键上/下编辑值或单击那些小的上/下按钮并不重要)Autohotkey 通过Authohotkey控制事件处理?,autohotkey,Autohotkey,我正在编写一个自动热键脚本,需要在其中处理控制事件。更具体地说,我有一个编辑和一个好友上下控件。当用户在编辑中按Enter键时,我需要响应/处理事件,或者作为另一个示例,我需要响应由上/下控制引起的更改(用户使用箭头键上/下编辑值或单击那些小的上/下按钮并不重要) 请给我一个关于如何处理控件事件的提示,特别是关于编辑和上下控件的提示。Edit控件文档: UpDown控制文档: OnMessage()函数文档: 实施示例: Gui, Add, Edit, gEventHandler vMyE
请给我一个关于如何处理控件事件的提示,特别是关于编辑和上下控件的提示。
Edit
控件文档:UpDown
控制文档:OnMessage()
函数文档:实施示例:
Gui, Add, Edit, gEventHandler vMyEditControl
Gui, Add, UpDown, vMyUpDown Range1-10, 5
Gui, Show
OnMessage(WM_KEYUP:=0x101,"WM_KEYUP") ; WM_KEYUP msg, see http://msdn.microsoft.com/library/ms646281
return
GuiClose: ; exit app on 'guiclose' event
ExitApp
EventHandler: ; This label is launched when the contents of the edit has changed
GuiControlGet,value,,MyEditControl
MsgBox MyEditControl contains "%value%".
return
WM_KEYUP(wParam, lParam) { ; this function is launched on 'Key Up' event
if (wParam==0x0D) ; vk codes, see http://msdn.microsoft.com/library/dd375731
MsgBox Enter was pressed in MyEditControl.
}
或者,
如果窗口上有多个编辑控件,并且希望处理特定编辑控件的Enter键,则可以通过以下方式进行改进:
WM_KEYUP(wParam, lParam)
{
; vk codes, see http://msdn.microsoft.com/library/dd375731
IF (wParam==0x0D) ; 'Key Up' event for 'Enter'
{
GuiControlGet, FocusCtrl, FocusV
IF (FocusCtrl="MyEditControl") ; Focus is on MyEditControl Edit control
{
; when Enter is pressed and when MyEditControl has the keyboard focus
MsgBox Enter Presses on MyEditControl
}
}
}
特别感谢Joe DF的帮助性回答和出色的文档。很好的叉子,看起来我的awswer很好地帮助了你!;)谢谢你的回答,乔;在Stackoverflow中是否有一个链接或什么东西可以接受答案?@davide每个答案的左侧,traingle upvote和downvote按钮的正下方都有一个复选标记形状的图标。您可以向上投票任何有价值的答案,但只接受一个选定的答案。完美。谢谢。:)很高兴我能帮忙:)