Problem mit dem Editor von Visual Studio

Topsen

Mitglied
Hallo,

ich wollte in einem FormView per TabControl ein paar ListConstrols, je nach Tab Wahl ein und ausblenden.
Eigentlich müsste das überhaupt kein Problem sein, wenn mein Editor nicht so rumspinnen würde. Ich bau ein TabControl auf das FormView dann setze ich das ListControl darauf.
Ich kompiliere es mal und auf einmal ist das Listcontrol nicht zu sehen.
Liegt hinter dem TabControl. Setze ich noch ein Listcontrol auf den TabControl ist das auf einmal im Vordergrund zu sehen. Ok denke ich dann lösche ich halt das, was hinter dem TabControl liegt, tue ich das und starte das Programm, liegt das neue ListControl auch hinter dem TabControl.

Ich werde langsam verrückt, kann man nicht wie in jedem anderen vernünftigen GUI Editor sagen, auf welche Ebende (vorne, hinten) das jeweilige Widget zu erscheinen hat?

Ich hab gehört, das man mein Vorhaben auch mit PropertySheets und Pages lösen kann, aber davon hab ich keine Ahnung und meine Variante könnte ich schnell umsetzen, wenn mich der GUI Editor nicht so ärgern würde.

Vielleicht kennt jemand das Problem.

bis dann,

Topsen
 
Propety Pages bzw. Tab Controls kann man leider nicht so einfach auf einem Dialog zusammenbasteln. Man muss vielmehr einen Hauptdialog mit dem Tab-Control drauf bauen und dann für jede Seite des Tab-Controls einen eigenen Child-Dialog (am besten ohne Rahmen und mit Child-Style).
An der Stelle, wo der Hauptdialog angezeigt werden soll, die einzelnen Child-Dialoge (Tabs) mit InsertItem dazusetzen und dann DoModal (am Hauptdialog) aufrufen.
 
Danke, das ist ne gute Idee.
Nur weiß ich jetzt nicht ganz genau, wie ich das umzusetzen habe.
Ich bau mir also ein MainDialog klar, dann baue ich nen 2ten Dialog, muss ich den von irgendeiner Sonderklasse ChildDialog ableiten oder so?
Wäre cool , wenn du mir nen bisel Starthilfe geben könntest.
 
Es gibt da mehrere Möglichkeiten, die, auf die ich oben hingebaut habe, läuft so, dass deine Tab-Dialoge einfach von CDialog abgeleitet sind. Die Methode läuft aber auch auf einige Mehrarbeit raus. Du musst auf ein TCN_SELCHANGE vom TabCtrl hin die Childs austauschen. Wie gesagt, es ist etwas aufwendig.

Man kann auch die CPropertySheet (Haupt-Dialog) und CPropertyPages (einzelne Tabs) verwenden, allerdings ist die CPropertySheet ein kompletter Dialog mit OK,Abbruch,Übernehmen und keine einzelne Tab-Control mehr.

Genaueres siehe unter:
Using Tab Control
 
Ein PropertySheet mit PropertyPages kannst du dir vom Assistenten einbauen lassen unter - äh - "in Projekt einfügen/Komponenten und so weiter" und da auswählen - äh - "Visual C++-Komponenten/Eigenschaftenblatt" oder so ähnlich. Geht als modales oder nichtmodales Propertysheet und ist gut zum Ausprobieren und die Funktion verstehen. Es lohnt sich übrigens, auch die anderen angebotenen Komponenten mal anzuschauen. Ist sehr lehrreich.
 

Neue Beiträge

Zurück