Controls nachträglich auf TAB Seite setzen

  • Hallo zusammen,

    Ich erstelle gerade eine klein GUI, welche 2 Tabulatoren hat. Auf dem ersten Tabulator habe ich einen Button gesetzt. Diese ist nur dort sichtbar. Wenn ich den Button betätige, sollen für diesen Tab weitere Labels usw. erstellt werden. Das funktioniert auch, aber leider sehe ich diese Labels auch auf dem 2. Tab. Was mache ich hier falsch? Muss man den 1. Tab irgendwie vorher wieder den Focus geben?

  • Hallo Oscar, hallo alpines

    Danke für den Tip. Irgendwie will das bei mir nicht so richtig

    Es ist immer der Tabulator $idTab03 aktiv.

    Wo denke ich hier falsch

  • GUISwitch verändert nicht die Ansicht der aktuellen Tabseite. Es setzt die aktive Tabseite zum Erzeugen der Controls.

    Erzeugst du mit GUICtrlCreateTabItem neue Controls landen die auf der Tabseite, die du bei GUISwitch angegeben hast.

    Wenn du die Tabseite visuell wechseln möchtest, dann musst du _GUICtrlTab_SetCurSel verwenden.

  • OK, das hat jetzt funktioniert, aber irgendwie aktualisiert sich die GUI nicht richtig. Die GUI wird jetzt so erstellt

    Code
    $idTab01 = GUICtrlCreateTab($iLeft01, $iTop03, $iWidth02, $iHeight04)
    $idTab02 = GUICtrlCreateTabItem("Teilnehmer abfragen") ; 1. Tabulator erstellen
    $idButton01 = GUICtrlCreateButton("ZKS anfragen", $iLeft04, $iTop04, Default, Default) ; Abfrage Schaltfläche erstellen
    _WriteLabel01() ; Funktion zur Erstellung der Überschriften
    $idTab03 = GUICtrlCreateTabItem("Teilnehmer suchen") ; 2. Tabulator erstellen
    $idTab04 = GUICtrlCreateTabItem("") ; Beendet die Tab Definition
    _GUICtrlTab_SetCurSel($idTab01, 0) ; Tabulator "Teilnehmer abfragen" wieder den Focus geben
    GUISetState(@SW_SHOW, $hMainGUI) ; GUI aktualisieren.

    Die Funktion _WriteLabel01() startet mit

    Code
    GUISwitch($hMainGUI, $idTab02) ; wieder auf den 1. Tab wechseln (was irgendwie nicht funktioniert)

    Wenn ich mit F5 ausführe, lande ich auch auf dem 1. Tab, aber es ist kein Inhalt zu sehen. Wenn ich dann mit der Maus auf den 2. Tab wechsle und wieder zurück auf den 1. Tab gehe, ist alles da (inklusive meinem Button)

    ???

  • Ja habe ich, aber nicht erschrecken. Bin noch in einer Findungsphase und weiß auch nicht, ob ich das so umsetzen will und werde. Aber wenn ich schon an so grundsätzlichen Dingen scheitere .....

    Spoiler anzeigen
  • Es liegt an den vielen GUISetStates, damit aktualisierst du nichts. GUISetState mit @SW_SHOW zeigt die GUI an, und das solltest du nur einmal machen.