我希望 ListBoxGetChoice() 函数在单击“提交”按钮时返回 ListBox1 选定的选项...
ListBoxGetChoice() {
MyGui := Gui('AlwaysOnTop')
MyGui.AddText(, 'Select your category')
ListBox1 := MyGui.AddListBox('r6', ['Option1', 'Option2', 'Option3'])
MyBtn1 := MyGui.AddButton('Default w80', 'Submit')
MyGui.Show('w400')
return ListBox1.Text ; This doesn't work
}
我将向您展示两种实现您想要的目标的方法。另请注意:将 ListBox1 定义为全局的选项只是必要的,因为您的 GUI 是在函数内创建的。
ListBoxGetChoice()
ListBoxGetChoice2()
ListBoxGetChoice() {
Global listbox1 ; Your gui is inside a function, so lets turn the listbox1 a global
MyGui := Gui('AlwaysOnTop')
MyGui.AddText(, 'Select your category')
listbox1 := MyGui.AddListBox('r6', ['Select Me Option1', 'Select Me Option2', 'Select Me Option3'])
MyGui.AddButton('Default w80', 'Submit').OnEvent("Click", submit) ; call submit button function
MyGui.Show('x0 y0 w400')
}
submit(ctrl,info) {
msgbox listbox1.Text
}
;################
ListBoxGetChoice2() {
MyGui := Gui('AlwaysOnTop')
MyGui.AddText(, 'Select your category')
MyGui.AddListBox('r6', ['Double Click Me Option1', 'Double Click Me Option2', 'Double Click Me Option3']).OnEvent("DoubleClick", listbox) ; call on double click an item
MyGui.AddButton('Default w80', 'Submit')
MyGui.Show('x500 y0 w400')
}
listbox(ctrl,info) {
msgbox ctrl.Text
}