Eine PropertyPage durch einen Dialog ersetzen



  • Hi!

    Ich würde gerne den Inhalt einer PropertyPage durch ein Formular von CDialog austauschen.
    Mein erster Ansatz sieht folgendermaßen aus:

    CPropSheet *mySheet=new CPropSheet("");//CPropSheet ist von CPropertySheet abgeleitet

    CNurDialog *DForm=new CNurDialog();//von CDialog abgeleitet

    einePage *Page1=new einePage();//von CPropertyPage

    mySheet->AddPage(Page1);
    mySheet->SetActivePage(Page1);//Hier ist die Adresse von Page1 hWnd=0

    //Dialog auf die Window- Adresse von Page1 legen
    //Dialog->m_hWnd=Page1->m_hWnd
    mySheet->DoModal();

    Hintergrund dieser Anwendung ist, dass ich gleiche Eingabe- Formulare (Dialoge) unterschiedlich verwenden will. Mal als alleinigen Dialog, mal als eine Page unter mehreren.

    Danke für die Hilfe!



  • Soviel ich weiß, muß man die Create- Funktion des Dialogs überladen (neue Funktion schreiben), so dass man das hWnd von der Page mit übergeben kann.
    Damit gibt es mit CWnd::FromHwnd (od. so ähnl.) einen Zeiger auf das Window der Page, in das der Dialog gesetzt werden kann.
    Genauer weiß ich es leider nicht...


Anmelden zum Antworten