CPropertySheet & Wizard-Buttons



  • Hi Leute,

    ich hab ein kleines Problem bei einem Wizard in meiner SDI-Anwendung.
    Ich hab eine Klasse von CPropertySheet abgeleitet, mehrere Dialoge erstellt und deren Klassen von CPropertyPage abgeleitet. Alles wunderbar, ich füge die Dialog per AddPage() zu meinem PropSheet hinzu und stelle dann den Wizard-Mode ein:

    void CMyDialog::OnStartWizard()
    {
       CPropSheet pSheet;
    
       pSheet.SetWizardMode()
    
       pSheet.DoModal();
    }
    

    Jetzt will ich aber die Wizard-Buttons einstellen und hab im MSDN nur das hier gefunden:

    Call this member function to enable or disable the Back, Next, or Finish
    button in a wizard property sheet. Call SetWizardButtons only after the dialog
    is open; you can’t call SetWizardButtons before you call DoModal. Typically,
    you should call SetWizardButtons from CPropertyPage::OnSetActive.
    

    Wenn ich jetzt in meinen von CPropPage abgeleiteten Dialog-Klassen die Methode OnSetActive() definiere, läuft zwar alles glatt, aber wenn ich in dieser Funktion dann versuche, die Wizard-Buttons einzustellen, erhalte ich'n Fehler:

    BOOL CWizardSheet1Dlg::OnSetActive()
    {
        CPropertySheet::SetWizardButtons(PSWIZB_BACK | PSWIZB_NEXT | PSWIZB_FINISH | PSWIZB_DISABLEDFINISH);
    
        return true;
    }
    

    Um es also kürzer zu fassen: Wo muss ich die Methode SetWizardButtons aufrufen?

    Danke schon mal im Voraus.

    Happosai

    [ Dieser Beitrag wurde am 03.01.2003 um 12:42 Uhr von Happosai editiert. ]



  • Du kannst entweder PSWIZB_NEXT ODER PSWIZB_FINISH ODER PSWIZB_DISABLEDFINISH verwenden, nicht alle zugleich!



  • Hab's schon anderweitig gelöst: Hab mir selbst einen Wizard geschrieben 🙂

    Trotzdem danke.

    Happosai


Anmelden zum Antworten