Hallo,
ich habe eine GUI erstellt und möchte per Mausklick die Eingabefelder aktivieren und nach der Eingabe mit der Entertaste in das nächste Feld kommen. Meine GUI ist eigentlich etwas umfangreicher als hier unten angegeben, dort macht es schon Sinn mit der Maus zu navigieren. Ich weiß, dass man man mit der Tab-taste auch navigieren kann, aber bei mehreren Feldern ist es besser mit der Maus zu navigieren.
Für eure Vorschläge wäre ich euch dankbar.
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <GUIConstants.au3>
Global $Auslesen
Global $Beenden
Global $VORNAME
Global $NACHNAME
Global $STADT
Global $CUST_SN
Global $NAME1
Global $NAME2
Global $CITY
Global $iFocus
; MAIN PROGRAM
HotKeySet ( "{ESC}", Terminate )
Create_GUI()
CUSTOMER()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Auslesen
$NAME1 = GUICtrlRead($VORNAME)
$NAME2 = GUICtrlRead($NACHNAME)
$CITY = GUICtrlRead($STADT)
MsgBox(0, "IHRE EINGABEN", "Vorname: " & $NAME1 & @CRLF & "Nachname: " & $NAME2 & @CRLF & "Stadt: " & $CITY)
Case $Beenden
Terminate()
EndSwitch
WEnd
Func Create_GUI()
$handle1 = GUICreate("GUI",580,290,-1,-1) ; will create a dialog box that when displayed is centered
GUISetBkColor(0xFFFAFA) ; Snow
GUISetFont(20, 400, -1)
GUICtrlSetColor(-1,0x4169E1); RoyalBlue
GUICtrlCreateLabel("My GUI", 150, 20, 320, 100, 0x01)
GUICtrlSetColor(-1,0x4169E1); RoyalBlue
GUISetFont(8, 400, -1)
GUISetFont(12, 400, -1)
EndFunc ;=> Create_GUI
Func CUSTOMER()
Local $msg
GUICtrlCreateLabel("Vorname: ", 25, 100, 300, 25)
$VORNAME = GUICtrlCreateInput("", 185, 100, 300, 25)
GUICtrlCreateLabel("Nachname: ", 25, 140, 300, 25)
$NACHNAME =GUICtrlCreateInput("", 185, 140, 300, 25)
GUICtrlCreateLabel("Stadt: ", 25, 180, 300, 25)
$STADT =GUICtrlCreateInput("", 185, 180, 300, 25)
$Auslesen = GUICtrlCreateButton("Daten übernehmen", 180, 240, 150, 30) ;480, 140, 40, 25
$Beenden = GUICtrlCreateButton("Beenden", 350, 240, 150, 30) ;480, 140, 40, 25
GUISetState()
$iFocus = $VORNAME ;Standard
GUICtrlSetState($iFocus, $GUI_FOCUS) ; setzt den Cursor in das erste Feld.
$msg = 0
EndFunc ;==>CUSTOMER
Func Terminate()
Exit
EndFunc ;=> Terminate