我想重用 GUI 代码,而不是制作多个副本(代码冗余),但问题是,当我按下时1它显示First
,但是当我按下时2它仍然显示First
而不是Second
。
下面的代码不能正常工作:
Gui, status_GUI:-Caption +ToolWindow +AlwaysOnTop
Gui, status_GUI:Color, Black
Gui, status_GUI:Font, s13 cWhite
1::
Hide_active_GUI()
;-------------- GUI start
Gui, status_GUI:Add, Text,, First
Gui, status_GUI:Show, x900 y850 NoActivate
SetTimer, Hide_active_GUI, 500
;-------------- end GUI
Return
2::
Hide_active_GUI()
;-------------- GUI start
Gui, status_GUI:Add, Text,, Second
Gui, status_GUI:Show, x900 y900 NoActivate
SetTimer, Hide_active_GUI, 500
;-------------- end GUI
Return
Hide_active_GUI() {
Gui, status_GUI:Hide
return
}
下面的代码运行得很好,但最大的问题是代码冗余:
1::
Hide_first_GUI()
;-------------- GUI start
Gui, first_GUI:-Caption +ToolWindow +AlwaysOnTop
Gui, first_GUI:Color, Black
Gui, first_GUI:Font, s13 cWhite
Gui, first_GUI:Add, Text,, First
Gui, first_GUI:Show, x900 y850 NoActivate
SetTimer, Hide_first_GUI, 500
;-------------- end GUI
Return
2::
Hide_second_GUI()
;-------------- GUI start
Gui, second_GUI:-Caption +ToolWindow +AlwaysOnTop
Gui, second_GUI:Color, Black
Gui, second_GUI:Font, s13 cWhite
Gui, second_GUI:Add, Text,, Second
Gui, second_GUI:Show, x900 y900 NoActivate
SetTimer, Hide_second_GUI, 500
;-------------- end GUI
Return
Hide_first_GUI() {
Gui, first_GUI:Hide
return
}
Hide_second_GUI() {
Gui, second_GUI:Hide
return
}
答案1
如果您想重用 GUI:
- 将控制添加指令 (
Add, Text
) 移出键绑定之外 - 将其分配
ContolID
给v
范围,例如:
Gui, status_GUI:Add, Text, vIndex, First
- 使用以下方法更改键绑定中的文本
GuiControl
:
GuiControl, Text, Index, Second