让我们说在运行脚本期间执行某些操作,您可以通过Loop创建带有几个按钮的gui。
Loop, 5
{
Gui, Add, Button,, Number %A_Index%)
}
Gui, Show
如何在按下其中一个按钮时分配动作?
似乎你在脚本启动后无法做到这一点,并且像
这样的技巧ButtonNumber%A_Index%: ;even if i was doing it inside loop.
do something here bla bla
return
不起作用。
更糟糕的是,我想从文件的内容创建这些按钮(此处用于测试),例如,每行文本都用于命名按钮。 你可以在AHK帮助文件中找到类似的迷你项目。 Buts坚持使用这个简单的模拟。 也许: 存储和响应用户输入,第三个选项变量或g标签是anwser。然而它要求静态/全局变量,但我有麻烦宣布这些。和g标签我不熟悉。
我想到的其他选项是 - 创建预定义按钮(很多),将它们重命名为我的值(来自文件),并丢弃休息。希望我能够使用预定义的控件。
P.S AHK帮助文件是一个真正的混乱,作为一个初学者我发现它必须剔除完整和有意义的信息,而不是你必须搜索并咬一口。
答案 0 :(得分:1)
一种方法是为所有按钮使用解析循环和一个g标签,然后使用A_guiControl获取调用子例程的按钮的变量名称
示例:强>
; fileread, file_content, Path-to-file
file_content =
(
line with text one
line with text more
line with text other
line with text something
line with text two
)
Loop, parse, File_content, `n, `r
{
Gui, Add, Button, vMyButton%A_index% gButtons, %A_LoopField%
}
Gui, Show
return
Buttons:
msgbox % A_GuiControl
return
GuiClose:
ExitApp
希望有所帮助
答案 1 :(得分:0)
我找到了一个可能的问题。基本上它涉及 blackholyman (lel)建议的g-label功能。 对我的所有按钮使用相同的g标签,并在按钮控制中结合A_GuiControl比较。 由于我已经将一个文件存储在一个文件中,与其他数据存在一行,这与该按钮相关,我可以通过解析与按钮名称(A_GuiControl)比较每一行,这使我能够检索分配的内部相关数据G-标签。 可能有人会发现它很有用。我会稍后添加代码。