我正在尝试创建一个GUI,提示用户将3个字符串用作变量,以便稍后在脚本中使用。
我的问题是关于ControlFocus命令。
我有3个输入框。我可以使用“Tab”键循环浏览它们,没有任何问题。有没有办法将鼠标左键单击链接到ControlFocus命令,以便在单击任何一个输入框时设置焦点? 我希望用户只需单击它就可以选择自己选择的输入框,而不是使用Tab键滚动它们。
#include <GUIConstants.au3>
; GUI
GUICreate("Adam's Instance Bot", 200, 210)
; LABEL
$Label_1 = GUICtrlCreateLabel("Username", 30, 20, 100, 20)
$Label_2 = GUICtrlCreateLabel("Password", 30, 60, 100, 20)
$Label_3 = GUICtrlCreateLabel("Instance", 30, 100, 100, 20)
; Input
$Input_1 = GUICtrlCreateInput("", 80, 20, 90, 20)
$Input_2 = GUICtrlCreateInput("", 80, 60, 90, 20)
$Input_3 = GUICtrlCreateInput ("", 80, 100, 90, 20)
; BUTTON
$RUN_1 = GUICtrlCreateButton("Start bot", 20, 140, 160, 50)
; Run script with variables
GUISetState()
While 1
$MSG = GUIGetMsg()
Select
Case $MSG = $GUI_EVENT_CLOSE
Exit
Case $MSG = $RUN_1
$username = GUICtrlRead($Input_1)
$password = GUICtrlRead($Input_2)
$instance = GUICtrlRead($Input_3)
MsgBox(0,"text blah", $password )
EndSelect
WEnd
我是否走错路线试图使用ControlFocus命令?有没有更好的办法?这比我制作容易吗?任何帮助表示赞赏。
答案 0 :(得分:2)
您始终可以通过鼠标单击选择输入框,但是在它们之上创建标签,以便您单击标签而不是框。 只需将标签宽度更改为~50即可。
#include <GUIConstants.au3>
; GUI
GUICreate("Adam's Instance Bot", 200, 210)
; LABEL
$Label_1 = GUICtrlCreateLabel("Username", 30, 20, 50, 20)
$Label_2 = GUICtrlCreateLabel("Password", 30, 60, 50, 20)
$Label_3 = GUICtrlCreateLabel("Instance", 30, 100, 50, 20)
; Input
$Input_1 = GUICtrlCreateInput("", 80, 20, 90, 20)
$Input_2 = GUICtrlCreateInput("", 80, 60, 90, 20)
$Input_3 = GUICtrlCreateInput ("", 80, 100, 90, 20)
; BUTTON
$RUN_1 = GUICtrlCreateButton("Start bot", 20, 140, 160, 50)
; Run script with variables
GUISetState()
While 1
$MSG = GUIGetMsg()
Select
Case $MSG = $GUI_EVENT_CLOSE
Exit
Case $MSG = $RUN_1
$username = GUICtrlRead($Input_1)
$password = GUICtrlRead($Input_2)
$instance = GUICtrlRead($Input_3)
MsgBox(0,"text blah", $password )
EndSelect
WEnd