实现了一个简单的 GUI 工具,带有以下功能:
- GUI 布局:
- 一个文本框用于显示状态,默认值为“状态”。
- 一个按钮用于切换功能状态,按钮标签会在“开始”和“停止”之间切换。
- 鼠标左键监听:
- 使用
OnMessage(0x201, "WM_LBUTTONDOWN")
监听鼠标左键按下事件。 - 当点击特定控件(如
Edit1
)时,会根据控件的内容改变其显示值。
- 使用
Gui Font, s13 cblack
Gui Add, Edit,-VScroll x10 y19 w220 h50 vA, 状态
Gui Add, Button, g开始按钮 Hwnd按钮ID, 开始
Gui Show, w280 h160 , 复制粘贴+ JLNB开关配置工具 v2.0
OnMessage(0x201, "WM_LBUTTONDOWN")
Return
开始按钮:
GuiControlGet, 按钮文本,, Button1
GuiControl,, Button1, % (按钮文本 = "开始") ? "停止" : "开始"
; ControlGetText, 按钮文本, ,ahk_id %按钮ID%
; ControlSetText, , % (按钮文本 = "开始") ? "停止" : "开始", ahk_id %按钮ID%
Return
GuiClose:
ExitApp
WM_LBUTTONDOWN(wParam, lParam) {
; X := lParam & 0xFFFF
; Y := lParam >> 16
; if A_GuiControl
; Control := "`n(in Control " . A_GuiControl . ")"
; GuiControlGet, Content, , %A_GuiControl%
MouseGetPos, , , , OutputVarContr
if (OutputVarContr = "Edit1") { ; 第三个输入框点击左键自动改变内容
MouseGetPos, , , , msCtrl
ControlGetText, Haystack, %msCtrl%
NeedleGZ := "故障"
NeedleZT := "状态"
; NeedleTZ := "跳闸"
if (Haystack=NeedleGZ)
ControlSetText, Edit1, 状态, 复制粘贴+ JLNB开关配置工具 v2.0
else if (Haystack=NeedleZT)
ControlSetText, Edit1, 故障, 复制粘贴+ JLNB开关配置工具 v2.0
}
}
Gui Font, s13 cblack
Gui Add, Edit,-VScroll x10 y19 w220 h50 vA, 状态
Gui Add, Button, g开始按钮 Hwnd按钮ID, 开始
Gui Show, w280 h160 , 复制粘贴+ JLNB开关配置工具 v2.0
OnMessage(0x201, "WM_LBUTTONDOWN")
Return
开始按钮:
GuiControlGet, 按钮文本,, Button1
GuiControl,, Button1, % (按钮文本 = "开始") ? "停止" : "开始"
; ControlGetText, 按钮文本, ,ahk_id %按钮ID%
; ControlSetText, , % (按钮文本 = "开始") ? "停止" : "开始", ahk_id %按钮ID%
Return
GuiClose:
ExitApp
WM_LBUTTONDOWN(wParam, lParam) {
; X := lParam & 0xFFFF
; Y := lParam >> 16
; if A_GuiControl
; Control := "`n(in Control " . A_GuiControl . ")"
; GuiControlGet, Content, , %A_GuiControl%
MouseGetPos, , , , OutputVarContr
if (OutputVarContr = "Edit1") { ; 第三个输入框点击左键自动改变内容
MouseGetPos, , , , msCtrl
ControlGetText, Haystack, %msCtrl%
NeedleGZ := "故障"
NeedleZT := "状态"
; NeedleTZ := "跳闸"
if (Haystack=NeedleGZ)
ControlSetText, Edit1, 状态, 复制粘贴+ JLNB开关配置工具 v2.0
else if (Haystack=NeedleZT)
ControlSetText, Edit1, 故障, 复制粘贴+ JLNB开关配置工具 v2.0
}
}
Gui Font, s13 cblack
Gui Add, Edit,-VScroll x10 y19 w220 h50 vA, 状态
Gui Add, Button, g开始按钮 Hwnd按钮ID, 开始
Gui Show, w280 h160 , 复制粘贴+ JLNB开关配置工具 v2.0
OnMessage(0x201, "WM_LBUTTONDOWN")
Return
开始按钮:
GuiControlGet, 按钮文本,, Button1
GuiControl,, Button1, % (按钮文本 = "开始") ? "停止" : "开始"
; ControlGetText, 按钮文本, ,ahk_id %按钮ID%
; ControlSetText, , % (按钮文本 = "开始") ? "停止" : "开始", ahk_id %按钮ID%
Return
GuiClose:
ExitApp
WM_LBUTTONDOWN(wParam, lParam) {
; X := lParam & 0xFFFF
; Y := lParam >> 16
; if A_GuiControl
; Control := "`n(in Control " . A_GuiControl . ")"
; GuiControlGet, Content, , %A_GuiControl%
MouseGetPos, , , , OutputVarContr
if (OutputVarContr = "Edit1") { ; 第三个输入框点击左键自动改变内容
MouseGetPos, , , , msCtrl
ControlGetText, Haystack, %msCtrl%
NeedleGZ := "故障"
NeedleZT := "状态"
; NeedleTZ := "跳闸"
if (Haystack=NeedleGZ)
ControlSetText, Edit1, 状态, 复制粘贴+ JLNB开关配置工具 v2.0
else if (Haystack=NeedleZT)
ControlSetText, Edit1, 故障, 复制粘贴+ JLNB开关配置工具 v2.0
}
}
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)