Registerkarten erstellen



  • Moin!

    Ich wage mich mal wieder an grafische Ressourcen mit Visual C++ mit MFC heran. Ich möchte ein Dialogfeld mit verschiedenen Registerkarten erstellen. Das hat soweit schon geklappt: Es gibt defaultmäßig 5 Reiter (Tab 1-5).

    1. Wie kann ich die Reiternamen ändern??
    2. Wie kann ich auf die anderen, nicht aufgeschlagenen, Registerkarten im Dialogeditor wechseln, wenn ich sie noch mit Inhalt füllen will?

    Schöne Grüße!


  • Mod

    1. Wenn Du CPropertySheet/CPropertyPage verwendest, dann sind die Titel Deines Dialoges auch die Titel der Pages.
    2. CPropertySheet::SetActivePage



  • Hallo,
    nochmals zu der ersten Frage.

    1. Wie kann ich die Reiternamen ändern??

    Kann ich diese auch dynamisch ändern?

    Ich habe im OnInitDialog der PropertyPage folgenden Quelltext:

    TestSheet* parent=(TestSheet*)GetParent();
    CString str("");
    parent->m_PropPageVariable.GetWindowText(str);
    

    Und bekomme den Text des Kartenreiters. Soweit so gut. Nun wollte ich aber einen geänderten Text zurückschreiben:

    parent->m_PropPageVariable.SetWindowText(str+"xxxxx");
    

    Dies funktioniert aber nicht, soll heißen, es passiert nichts.
    Weiß jemand wieso???

    Danke!
    Tester2


  • Mod

    Der Text für eine PrpertyPage ist Per Standard die Caption des Dialoges den Du einfügst.

    Dynamisch müsste es so gehen:

    TestSheet* parent=(TestSheet*)GetParent();
    parent->GetTabControl()->SetItem(...);
    

    gehen.



  • Danke Martin Richter!

    Ich hatte das TabCtrl, die TCITEM-Struktur gefüllt, aber genau die Zeile mit dem SetItem(...) fehlte noch!

    Tester2


Log in to reply