Von Propertypage auf PropertySheet zugreifen



  • Hallo zusammen,

    habe ein Register mit 3 Seiten. Auf jeder Seite ist ein Button, durch deren Drücken die nächste Seite im Register angezeigt werden soll.

    Ich wollte durch den Messagehandler eine Funktion für das Button hinzufügt,
    das auf die PropertySheet zugreift und durch SetActivePage() die zweite Seite anzeigen.

    So zum Beispiel:
    void CRegSeite1::OnBnClickedWeiter1()
    {
    // TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
    GetParent()->SetActivePage(1);
    }

    Funzt aber nicht. Kann mir jemand weiterhelfen?Danke..



  • Ich bin mir nicht sicher, aber vielleicht funktioniert ja
    ((CPropertySheet*)GetParent())->SetActivePage(1);



  • Ok hat folgendermaßen geklappt.

    CRegSheet *pDlg = ((CBildschirmApp*) AfxGetApp())->m_pPropertySheet;
    pDlg->SetActivePage(1);

    Zur Erklärung: Das Propertysheet ist im Konstruktor der App enthalten. deshalb AfxGetApp().

    Vielen Dank


  • Mod

    Die Lösung von isabeau sollte aber der richtige Weg sein!

    Deine Methode setzt in meinen Augen zuviel wissen um andere Klassen voruas. Bzw. zuviel Abhängigkeit der Klassen zueinander.



  • Sehe ich wie Martin. Sobald das CPropertySheet in eine andere Klasse verschoben werden sollte, kracht es nach Deiner Methode, die von isabeau funktioniert aber auch dann noch.



  • ok habs jetzt so gemacht wie von euch vorgeschlagen..ihr habt in c++ sicherlich mehr erfahrung als ich:-) vielen dank für eure hilfe..


Anmelden zum Antworten