我有一个由AutoHotkey创建的窗口,上面有一个按钮和一个编辑控件。 我想要做的是在单击按钮后将输入焦点恢复到Edit控件。通过WinSpy(非常感谢Robert Kuster),我有关于Edit控件的以下信息。
Handle : 0x00330786 (changes every time I start the application)
Control ID : 4
Class : Edit
Window Title : some window title
Parent Window Class : AutoHotkeyGUI
以下是我在剧本中使用的声明。
ControlFocus, MyEdit, some window title
BTW,AutoHotkey帮助建议保留控件名称,并将目标控件的HWND替换为窗口标题。请指导如何实现这一目标。
答案 0 :(得分:2)
下面是一段使用
的Autohotkey脚本GuiControl, Focus, ControlName
单击“显示我的进度”按钮后,将输入焦点更改为编辑控件(即完成)。
%WinTitle% = some window title
Gui, Add, Text, vLabel cWhite, Reading Completion
Gui, Add, Edit, vCompletion ym w40 ; The ym option starts a new column of controls.
Gui, Add, Progress, vMyProgress w300 h30 xp+50 yp-5
Gui, Add, Button, xp yp+50, Show My Progress
GuiControl,, Completion, %iniCompletion%
Gui, Show, h140, %WinTitle%
ControlClick, Show My Progress, %WinTitle%
**GuiControl, Focus, Completion**
return
ButtonShowMyProgress:
Gui, Submit, NoHide ; Save the input from the user to each control's associated variable.
MyCompletionPercentage:=(Completion / (PageEnd-PageStart+1)) * 100
PercentageRounded:=Round(MyCompletionPercentage,0)
GuiControl,, MyProgress, %PercentageRounded%
**GuiControl, Focus, Completion**
return
非常感谢MCL和BGM的评论...
如果我理解正确,您可以使用AHK构建自己的GUI。为什么 你不用GuiControl,Focus吗? - MCL
MCL有一个观点。 GuiControl是autohotkey使用它自己的控件的方式。如果您正在使用控件,则只能使用ControlFocus 外窗。 MCL - 也许你应该把它作为答案。 - BGM