【问题标题】:How to update AutoHotkey GUI Text control?如何更新 AutoHotkey GUI 文本控件?
【发布时间】:2015-02-08 04:08:24
【问题描述】:

我正在尝试显示和更新一个 gui 元素(文本字符串)。有人可以告诉我我在这里做错了什么吗?初始文本永远不会被循环中的更新文本替换。

kills=0

#n::
Gui,Add,Text,vStatus, starting the killing
Gui,Show,w250 h375
Loop
{
GuiControl,,vStatus, killed %kills% Glorks!
kills+=1
Sleep,3000
}
return

【问题讨论】:

    标签: user-interface autohotkey


    【解决方案1】:

    这是工作代码:

    kills=0
    
    #n::
        Gui,Add,Text,vStatus, starting the killing
        Gui,Show,w250 h375, Glorks counter
        Loop
        {
            IfWinNotExist, Glorks counter
            {
                Gui, Destroy
                return
            }
            GuiControl,,Status, killed %kills% Glorks!
            kills+=1
            Sleep,3000
        }
    return
    

    你的错误:

    1. 您应该在GuiControl 命令中使用Status 而不是vStatus

    2. 当您关闭 GUI 时,您并没有停止循环,因此IfWinNotExist 检测窗口是否存在,如果不存在,它将破坏所有 gui 变量并退出循环。因此,您可以再次按 Win+n 并再次启动 gui。

    注意: 如果您想在 gui 启动时每次从 0 开始计数杀戮,请将 kills=0 移动到 #n:: 之后的右侧

    【讨论】:

    • 如果您偶然发现此解决方案并且有 2 个 gui (带有窗口句柄 A 和 B),请注意。设置某个 gui 的 GuiControl 是 "GuiControl,A: ,Status,killed %kills% Glorks!"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多