我在以下线程上找到此代码:Suspending, Pausing, Hiding, Pulling Up GUI Window:
Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
它有什么作用?我猜这对于if
expression来说是一种简单的hotkeys,但是在两页上的示例中,我看不到它的位置。
如果使用SetTimer
,则只有将该代码放在子例程中,计数器才会增加。如果放在外面,则计数器停止。
Gui +LastFound +AlwaysOnTop +ToolWindow -Caption
Gui, Add, Text, vcounter, 00000
Gui, Show, NoActivate
SetTimer, Update, 100 ; 100 ms
Update:
counter++
GuiControl,, counter, %counter%
^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
Return
答案 0 :(得分:1)
三元运算符 [v1.0.46 +]。该运算符是简写替换 用于if-else语句。它评估左侧的条件 确定其两个分支中的哪个应成为其最终结果。 例如,var:= x> y? 2:3如果x大于2,则将2存储在Var中 y;否则,它会存储3。 评估分支(请参阅短路评估)。
命令^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
有两个部分。
(MainGui:=!MainGui)
切换变量MainGui
的值
相反,通常是从True
到False
,反之亦然。 MainGui
。如果是True
,则使用值Hide
,
如果它是False
,则使用值Show
。 ^esc::Gui % (MainGui:=!MainGui) ? "Hide" : "Show"
转换为以下之一:
1.如果MainGui
是True
==> Gui Hide
2.如果MainGui
是False
==> Gui Show
简短说明:^esc
热键会在Gui处于活动状态时将其隐藏,在它处于隐藏状态时将其显示。