ListView / TreeView UDF - Bug bei Tabs?

  • Hallo!

    Ich hab ein dummerweise sehr dringendes Problem - da ich den Prototyp von meinem Programm heute Mittag abgeben muss, und jetzt meine Oberfläche rumspinnt.

    Nachdem ich meine GUI auf die Tree- und Listview-UDFs umgestellt hab, muss ich ja einen "parent" angeben, bzw. den Handle (hWnd).
    Verwende ich die GUI selbst (GUICreate()) als Parent, wird der View auf jedem Tab angezeigt - verwende ich als Parent aber den Tab, so wird der Inhalt des Views nicht mehr angezeigt - bzw. der ganze Control bleibt weg.

    Es scheint mir, dass die TreeView-Funktion den GUICtrlCreateTabItem() einfach ignoriert.

    Gibt es ne schnelle alternative Lösung, abgesehen davon, keine Tabs zu verwenden?

    Einmal editiert, zuletzt von Pennywise (26. Oktober 2010 um 11:23)

  • Ich versteh leider nicht ganz was genau du meinst.
    Könntest du ein Beispielscript anhängen, das das Problem enthält?

    Dann sehn wir uns schnellstmöglich nach ner Lösung um ;)

    • Offizieller Beitrag
    Zitat

    Nachdem ich meine GUI auf die Tree- und Listview-UDFs umgestellt hab, muss ich ja einen "parent" angeben, bzw. den Handle (hWnd).
    Verwende ich die GUI selbst (GUICreate()) als Parent, wird der View auf jedem Tab angezeigt - verwende ich als Parent aber den Tab, so wird der Inhalt des Views nicht mehr angezeigt - bzw. der ganze Control bleibt weg.

    Mir fällt keine Funktion der Tree- bzw. Listview UDF ein, wo ein Parenthandle gebraucht wird.
    Die UDF Funktionen verwenden das Controlhandle im gegensatz zu den "Normalen" Controls, diese benutzen die ControlID.
    Um aus einem ControlID ein Handle zu machen benutzt du GUICtrlGetHandle.
    Dein Problem mit den Tabs hört sich nach einem nicht abgeschlossenen Tab an. Hast du nach den Tabs diese mit
    GUICtrlCreateTabItem ("") abgeschlossen? Wenn dein Listview nur auf einem Tab erscheinen soll, mußt du der GUI auch mitteilen
    auf welchem Tab das Control erstellt werden soll. Um anzugeben wo das nächste Control eingefügt wird, benutzt du GUISwitch.

    Zitat

    Parameters

    winhandle The handle of the window to switch to.
    tabitemID [optional] controlID of the tabitem control to be selected.

    Zitat

    Using the tabitemID allow to create new control in the specified tabitem control. Don't forget to close tabitem definition GuiCtrlCreateTabItem("")

    Wenn du auch noch einen Code zeigst kann man dir eventuall helfen, wie Schnitzel schon geschrieben hat. ;)

  • Hab das Problem umgangen, indem ich einfach keine Tabs mehr verwende. :D

    Die Tabs wahren schon ordentlich geschlossen - sonst würden ja auch andere Elemente bei den folgenden Tabs angezeigt werden.

    Wenn ich die Tage nochmal genug Zeit hab, poste ich mal ein genaueres Beispiel. ;)