Gui Input - Frage

  • ich hab grad die hilfe durchsucht und für mein prob. nix gefunden ..

    geht es i-wie, wenn ich ein inputfeld habe, dass man da nur 2 zahlen eingeben kann? $ES_NUMBER hab ich schon, aber das mit den maximal 2 zahlen schaffe ich nich ganz ..

    //Edit: ok, das mit dem limit hab ich jetzt doch; GUICtrlSetLimit() =)

    noch ne frage: bei meinem input (max. 2 zahlen) sollte es nach eingabe der 2 zahlen zum 2. input "rüber hüpfen" ^^, geht das?

  • Moin,

    Das hier wäre eine Lösungsmöglichkeit ...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <EditConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $hWnd = GUICreate('PopUp',200,200,-1,-1)

    [/autoit] [autoit][/autoit] [autoit]

    Global $input[4] ; Array für Input IDs
    $input[0] = 3 ; Anzahl der Steuerelemente

    [/autoit] [autoit][/autoit] [autoit]

    $input[1] = GUICtrlCreateInput('', 20, 20, 20, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 2, 2)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel('-', 42, 20)
    GUICtrlSetFont(-1, 12)

    [/autoit] [autoit][/autoit] [autoit]

    $input[2] = GUICtrlCreateInput('',50, 20, 20, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 2, 2)

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel('-', 72, 20)
    GUICtrlSetFont(-1, 12)

    [/autoit] [autoit][/autoit] [autoit]

    $input[3] = GUICtrlCreateInput('',80, 20, 20, 20, $ES_NUMBER)
    GUICtrlSetLimit(-1, 2, 2)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1

    Switch GUIGetMsg()

    Case -3
    Exit
    EndSwitch

    For $i = 1 To $input[0] - 1 ; Das letzte Element nicht prüfen
    ; erstes Feld prüfen
    If StringLen(GUICtrlRead($input[$i])) = 2 Then
    ; nächstes Feld prüfen
    If StringLen(GUICtrlRead($input[$i + 1])) <> 0 Then
    ContinueLoop
    Else
    GUICtrlSetState($input[$i + 1], $GUI_FOCUS)
    EndIf
    EndIf
    Next

    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]

    Gruß
    Greenhorn