Problem mit Propertypage und SetWizardMode
-
Ich rufe wie in den FAQ beschrieben einen Assistenten auf.
Bekomme zwar auch diese Button zum Abbrechen bzw Hilfe,
aber nie den "Fertig"-Button zu Gesicht. Der Hilfe-Button
soll zudem in jedem Fall weg...Den muss man doch im Grunde auf dem letzten Registerblatt
anzeigen lassen können?Habe zwar was von .SetWizardButtons(PSWIZB_FINISH) gelesen,
aber wie auch immer ich das anwende, schmiert meine Anwendung ab.anzeiger.AddPage(&seite1); anzeiger.AddPage(&seite2); anzeiger.AddPage(&seite3); anzeiger.SetWizardMode(); anzeiger.DoModal();
-
Du musst SetWizardButtons selbst aufrufen ab dem Moment in dem Du auch den Fertig Button sehen möchtest.
Am besten du verpasst jeder Seite einen OnSetActive() Handler in dem Du dann auf der letzten Seite z.B.SetWizardButtons(PSWIZB_BACK|PSWIZB_FINISH);aufrufst. Die erste seite bekommt nur
SetWizardButtons(PSWIZB_NEXT);und alle Seiten in der Mitte
SetWizardButtons(PSWIZB_BACK|PSWIZB_NEXT);
-
Wie übergebe ich dann aber "CPropertySheet anzeiger" so,
dass ich damit den Aufruf für "SetWizardButtons" starten kann?
Das ganze passiert ja in 3 unterschiedlichen Klassen?
-
Habe es bereits geschafft

CPropertySheet *anzeiger = reinterpret_cast<CPropertySheet *>(GetParent());Nur, wie bekomme ich den Hilfebutton noch weg, den der Wizard beinhaltet.
Bzw. bekomm ich irgendwie nen Handle drauf um den zu disablen?
-
Auf jeder Page musst Du das PSP_HELP Flag löschen
m_psp.dwFlags &= ~PSP_HASHELP;Das musst DU AUf jeder Deiner Seiten machen.