User interface 在AHK中追加列表框列表
我有一个上面有“用户名”的文本文件: 我要做的是创建一个包含该文件中所有用户的列表框。我的第一个想法是:User interface 在AHK中追加列表框列表,user-interface,listbox,autohotkey,User Interface,Listbox,Autohotkey,我有一个上面有“用户名”的文本文件: 我要做的是创建一个包含该文件中所有用户的列表框。我的第一个想法是: Gui, Add, Button, , Log in getUsers() Gui, Show getUsers() { loop { FileReadLine, line, info.txt, %A_Index% if ErrorLevel Break Gui, Add, ListBox, cBlue
Gui, Add, Button, , Log in
getUsers()
Gui, Show
getUsers()
{
loop
{
FileReadLine, line, info.txt, %A_Index%
if ErrorLevel
Break
Gui, Add, ListBox, cBlue, %line%
}
}
但不是得到这个:
我明白了:
这完全有道理,但我如何才能正确地做到这一点?我找不到任何类型的append选项。您的代码看起来不错,但选项并不是每行添加一行。相反,您必须声明 以管道分隔的列表 (见附件) 因此,您的函数将连接一个字符串,然后将其添加到gui中一次:
getUsers()
{
choices := "" ; if you leave this line out, it'll work too I guess, but you might get a warning if #warn was set so
loop
{
FileReadLine, line, info.txt, %A_Index%
if ErrorLevel
Break
choices .= line "|"
}
Gui, Add, ListBox, cBlue, %choices%
}
您的代码看起来不错,但选项并不是每行添加一行。相反,您必须声明 以管道分隔的列表 (见附件) 因此,您的函数将连接一个字符串,然后将其添加到gui中一次:
getUsers()
{
choices := "" ; if you leave this line out, it'll work too I guess, but you might get a warning if #warn was set so
loop
{
FileReadLine, line, info.txt, %A_Index%
if ErrorLevel
Break
choices .= line "|"
}
Gui, Add, ListBox, cBlue, %choices%
}
我测试过,100%有效,但我有几个问题。这可能是一个简单的答案,但为什么不在%循环的最后一行加上“line”呢?另外,行和“|”之间不应该有一个“.”来连接它们吗?@Milk教授:是的,这个话题一开始很混乱。有两个相等的运算符,
=
和:=
,它们的工作方式不同。请参阅@“在变量中存储值”=
,+=
等类似于冒号相等运算符:=
,因此,这里不需要%
s。关于第二个问题:是的,
在这里不会太错,但由于某些AHK版本,可以省略点。只是为了澄清:选项。=行。“|”
将与选项=%choices%%line%
100%相同好的,所以你可以把
放在所有东西之间,或者只是把它们放在一起,它的工作方式相同?我测试过,100%有效,但我有几个问题。这可能是一个简单的答案,但为什么不在%循环的最后一行加上“line”呢?另外,行和“|”之间不应该有一个“.”来连接它们吗?@Milk教授:是的,这个话题一开始很混乱。有两个相等的运算符,=
和:=
,它们的工作方式不同。请参阅@“在变量中存储值”=
,+=
等类似于冒号相等运算符:=
,因此,这里不需要%
s。关于第二个问题:是的,
在这里不会太错,但由于某些AHK版本,可以省略点。只是为了澄清:选项。=行。“|”
将与选项=%choices%%line%\124;
完全相同,因此您可以将
放在所有内容之间,或者将它们放在一起,然后以相同的方式工作?