Autohotkey {AHK}为脚本启动后创建的GUI按钮定义控件(/分配任务)

Autohotkey {AHK}为脚本启动后创建的GUI按钮定义控件(/分配任务),autohotkey,Autohotkey,假设在运行脚本期间执行一些操作,您可以通过循环创建带有多个按钮的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 不工作 更糟糕的是,我

假设在运行脚本期间执行一些操作,您可以通过循环创建带有多个按钮的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帮助文件中找到类似的小项目。但是让我们坚持这个简单的模拟。 可能是: 存储和响应用户输入,第三个选项变量或g标签是anwser。但它要求静态/全局变量,但我在声明这些变量时遇到了麻烦。还有我不熟悉的g标签

我想到的另一个选择是——创建预定义的按钮(很多),将它们重命名为我的值(来自文件),然后放弃其余的。希望我能够使用预定义的控件

p.S
AHK帮助文件真是一团糟,作为一个初学者,我发现它很难找到完整且有意义的信息,相反,你必须在这里和那里搜索并咬一口。

一种方法是对所有按钮使用一个解析循环和一个g标签,然后使用一个GUI控件获取调用子程序的按钮的变量名

示例:

; 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

希望能有所帮助我找到了一个解决我问题的方法。基本上,它包括blackholyman(lel)建议的g标签功能。 对所有我的按钮使用相同的g标签,并在按钮控件内进行控件比较。 由于我已将buton名称存储在一个文件中,在一行中包含与此按钮相关的其他数据,因此我可以通过解析将每一行与按钮名称(a_GuiControl)进行比较,这使我能够检索指定g标签内的相关数据。 也许有人会觉得它有用。我稍后再添加代码