Ereígnisausführung bei Tabwechsel

  • Hallo zusammen,

    leider bekomme ich folgendes nicht ganz gebacken:

    Ich habe ein Formular mit mehren Reitern / Registerkarten.

    Nun möchte ich beim Wechsel von dem 1.Reiter auf dem 2.Reiter überprüfen ob das Inputfeld auf dem 1.Reiter einen Wert enthält.

    Ist das Feld noch leer, dann soll kein Tabwechsel möglich sein sondern eine Msgbox erscheinen.


    Hat jemand einen Tip wie ich das realisieren kann ?


    Danke für Eure nette Hilfe.

  • Hi, schau Dir mal folgendes an:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUItab.au3>

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

    #NoTrayIcon

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

    main()

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

    Func main()
    Local $h_tab = 0, $h_inp = 0

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

    GUICreate("TabChange GUI", 320, 240)
    $h_tab = GUICtrlCreateTab(0, 0, 300, 220)
    GUICtrlCreateTabItem("Form")
    $h_inp = GUICtrlCreateInput("", 20, 40, 100, 20)
    GUICtrlCreateTabItem("Check")
    GUICtrlCreateTabItem("")

    GUISetState()

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    Exit
    Case $h_tab
    If _GUICtrlTab_GetCurSel($h_tab) Then
    If GUICtrlRead($h_inp) = "" Then MsgBox(16, "WARNING", "Fill out all fields!")
    EndIf
    EndSwitch
    WEnd
    EndFunc ;==>main

    [/autoit]
  • Klasse, vielen vielen Dank.

    Funktioniert einwandfrei.


    Hoffe, das ich mal helfen kann :)

    Bis dann