akh文本没有从settimer更新

时间:2017-02-24 08:03:29

标签: autohotkey

我正在尝试更改set timer中的文本。它不起作用。这是我正在尝试做的伪代码

Gui, New, , Update Text Demo
gui, add, text, x20 y20 w100 h16 vtimertext, --------
Gui, show, w600 h300

TimePassed = 0

SetTimer, UpdateTime, 3000
gosub UpdateTime

Return

; The following label receives control when the user closes the GUI window.
GuiClose:
{
  ExitApp
}

Return

UpdateTime:
{
  TimePassed := (TimePassed + 1)
  TrayTip, Debug, %TimePassed%
  GuiControl,,timertext,%TimePassed%
}

Return

如您所见,从settimer事件调用时,计时器文本不会改变。

有人可以指出我做错了吗。

感谢。

1 个答案:

答案 0 :(得分:0)

我从4GForce提交的AHK Forun获得了answer。我在下面给出答案以供快速参考。

  

好吧,GuiControl,找不到TimerText因为它不是全球性的   变量。要避免全局,您需要指定gui名称。 ( 它是   也缺少Text命令)希望你不介意,我换了几个   删除TimePassed变量等事情

#singleinstance force

Gui MyGui:New, , % "Update Text Demo"
Gui MyGui:Add, Text, x20 y20 w100 h16 vTimerText, % "0"
Gui MyGui:Show, w600 h300

SetTimer UpdateTime, 3000

Return
GuiClose:
ExitApp