Splitter und Tab Control
-
Hallo, ich möchte so etwas ähnliches bauen, wie auf dem Bild hier:
http://www.swissquake.ch/chumbalum-soft/ms3d/ms3d1x_ss5.gifIch habe mir jetzt folgendes Design für meinen Editor ausgedacht:
Es gibt einen Splitter, der das Fenster in eine linke und eine rechte Seite teilt.
Auf der linken Seite gibt es so etwas wie ein Tab Control. Auf der anderen Seite hat man ein Fenster auf das ich mit DirectX rendere.Wie kann ich das mit dem Tab-Control machen? Ich dachte schon an Property-Sheets, aber ich weiß nicht genau, wie man so etwas erreicht. Kann mir jemand helfen?
-
Hab mit den Property Sheets schlechte Erfahrungen gemacht zwecks "Verbiegbarkeit".
Das sicherste ist m.E. die "klassische" Variante (wie's Property Sheet auch macht):
a) Du fügts ein Tab Control mit der entsprechenden Anzahl von Seiten ein.
b) Für jede TAB-Seite baust due einen Dialog (Resource+Klase). Die Dialogresourece mus WS_CHILD und ohne Rand sein. Das Tab sollte WS_EX_CONTROLPARENT, und die Seiten WS_CONTROL style erhalten.c) Du fügst die Seiten als Childs des Tab Controls ein (mit CTabCtrl::AdjustRect kriegst du den richtigen "Ursprung" raus)
d) Beim umschalten (TCN_SELCHANGING / TCN_SELCHANGE) zeigst du jeweils nur den Dialog für die ausgewählte Seite (ShowWindow(SW_SHOW)), die anderen versteckst du (ShowWindow(SW_HIDE)).
Viel Spaß
