CTabCtrl - Einzelne Tabs mit Dialogen versehen
-
Also so wie ich das jetzt verstanden habe ist CPropertySheet eine art Dialog für sich und kein Element dass auf einem CDialog plaziert werden kann, ist das richtig? Allerdings ist es so dass wenn ich jetzt meinen CDialog ersetzen müsste, dann würde ich wohl auf einige probleme stoßen. Z.B. muss ich über den Tabs ein Bitmap als eine art Banner haben und ich brauch eine Menü und Statusleiste etc. Ich denke es wäre vielleicht doch einfacher alles so zu lassen wie es ist, und es mit dem CTabCtrl zu versuchen. Kann mir denn niemand erklären wie man die einzelnen Tabs mit andern Dialogen versehen kann?
-
Schau Dir mal http://www.codeproject.com/dialog/cdialogex.asp an, wenn Du nicht von CPropertySheet/Page zu überzeugen bist.
Wie man ein CPropertySheet als Control in einen CDialog einbettet, ist übrigens in "The MFC Answer Book" aus dem Addison-Wesley Verlag nachzulesen.
-
Aso, man kann also doch ein Propertysheet auf einem Dialog plazieren? Kann mir da vielleicht jemand erklären wie ich das am besten mache, bzw hat da jemand nen nützlichen Link dazu?
-
Nun Du musst die entsprechenden Dialoge sichtbar machen bzw. verstecken mit ShowWindow SW_HIDE und SW_SHOW. Die entsprechenden WM_NOTIFY Nachrichten sendet Dir ja das Tabcontrol an das Parent Fenster.
-
Naja, wie bereits erwähnt bin ich noch Anfänger was die MFC Programmierung anbelangt, deshalb wäre eine etwas detailiertere Beschreibung nicht schlecht. Ich habe mich jetzt also entschieden ein CPropertySheet zu benutzen und ich habe dieses wiefolgt angelegt:
CPropertySheet m_dlgPropSheet; CPropertyPage Page1(IDD_PROPPAGE1); CPropertyPage Page2(IDD_PROPPAGE2); m_dlgPropSheet.AddPage(&Page1); m_dlgPropSheet.AddPage(&Page2);
Wenn ich die DoModal Funktion aufrufe, dann sehe ich auch ein Fenster mit Tabs die meine Dialoge (IDD_PROPPAGE1, IDD_PROPPAGE2) enthalten. Allerdings brauche ich das CPropertysheet innerhalb eines anderen Dialogs. Wie kann ich das realisieren ? Hat da jemand nen Beispielcode?
-
Das geht so nicht. CPropertyPage ist selbst eben ein Dialog!
Du musst dann eben alles selber machen.
Aber bevor du Da anfängst gehe mal bei www.codeproject.com stöbern!
-
versuchen wir es einmal anders:
gebe deine mail bekannt, ich schicke dir dann eine hilfedatei, die dir weiter helfen kann, sollte das gut sein, könnten wir es in dem forum anzeigen,
mfg
-
So, habe jetzt meine Email Adresse bekannt gegeben, wäre nett wenn du mir deine Hilfe schicken könntest. Weiß denn hier sonst niemand ob es irgendwie möglich ist ein CPropertysheet auf einem Dialog zu plazieren? Brauche ziemlich dringend Hilfe!
-
Kann man ein Propertysheet (als Child) innerhalb eines FormViews erstellen?
-
frozen-one schrieb:
Aso, man kann also doch ein Propertysheet auf einem Dialog plazieren? Kann mir da vielleicht jemand erklären wie ich das am besten mache, bzw hat da jemand nen nützlichen Link dazu?
Ja, kann man. Wie das geht, steht in dem von mir bereits erwähnten Buch. Im Internet habe ich dazu nämlich (leider) nichts gefunden. Ist allerdings schon etwas her, dass ich das gebraucht habe.
-
Hallo frozen-one,
unter folgenden Link findest du ein wenig Beispiel-Code, der dir bei deinem Problem weiter helfen könnte. Eine entsprechende Zip-Datei enthält das komplette Projekt (Keine Sorge. Es ist nicht groß).
http://www.codeguru.com/Cpp/controls/propertysheet/article.php/c605/
Gruß
Guardian20
-
du musst die dialoge im .h deklarieren.....
sonst werden sie erzeugt und nachm method destroyed...
angelsoul