Freigeben über


CPropertySheet::DoModal

Zeigt ein modales Eigenschaftenblatt an.

virtual INT_PTR DoModal();

Rückgabewert

IDOK oder IDCANCEL, wenn die Funktion erfolgreich war; andernfalls 0 oder -1. Wenn das Eigenschaftenblatt als Assistent (siehe), SetWizardMode erstellt wurde, gibt DoModal entweder ID_WIZFINISH oder IDCANCEL zurück.

Hinweise

Der Rückgabewert entspricht der ID des Steuerelements, das das Eigenschaftenblatt geschlossen hat. Nachdem diese Funktion zurückgibt, sind die Fenster entsprechend dem Eigenschaftenblatt und allen Seiten zerstört wurden. Die Objekte selbst sind weiter. Normalerweise rufen Sie Daten aus den CPropertyPage-Objekte, nachdem DoModalIDOK zurückgibt.

Um ein nicht modales Eigenschaftenblatt anzuzeigen, rufen Sie Erstellen Sie stattdessen auf.

Wenn eine Eigenschaftenseite von der entsprechenden Dialogfeldressource erstellt wird, kann sie eine Chance Ausnahme verursachen. Dies resultiert aus der Eigenschaftenseite, die das Format der Dialogfeldressource in den erforderlichen Format geändert werden, bevor die Seite erstellt wird. Da Ressourcen im Allgemeinen schreibgeschützt sind, verursacht dies eine Ausnahme. Das System behandelt die Ausnahme und erstellt eine Kopie der geänderten Ressource. Die Chance Ausnahme kann daher ignoriert werden.

Hinweis

Diese Ausnahme muss vom Betriebssystem behandelt werden, wenn Sie mit dem asynchronen Ausnahmebehandlungsmodell kompilieren.Weitere Informationen zu Ausnahmebehandlungsmodelle, finden Sie unter /EH (Ausnahmebehandlungsmodell).In diesem Fall binden Sie keine Aufrufe von CPropertySheet::DoModal mit try/catch-Block in C++ ein, in dem die Mausauswahl alle Ausnahmen beispielsweise catch (...) behandelt.Dieser Block würde die Ausnahme behandeln, die für das Betriebssystem beabsichtigt war und unvorhersehbares Verhalten verursacht.Sie können jedoch C++-Ausnahmebehandlung sicher verwenden Unsachgemäßes mit bestimmten Ausnahmetypen oder -strukturierter Ausnahmebehandlung, in der die Zugriffsverletzungsausnahme durch an das Betriebssystem übergeben wird.

Um diese Chance Ausnahme zu generieren, können Sie manuell sicherzustellen dass das Eigenschaftenblatt richtige Fensterstile verfügt. Sie müssen die folgenden Formate für ein Eigenschaftenblatt festlegen:

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

Sie können die folgenden optionalen Formate verwenden, ohne eine Ausnahme auszulösen Chance:

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

Deaktivieren Sie alle anderen Windows-Formate, da sie nicht mit Eigenschaftenblättern kompatibel sind. Dieser Empfehlung gilt nicht für erweiterte Formate zu. Das Festlegen dieser Standardformate geeignet, wird sichergestellt, dass das Eigenschaftenblatt nicht geändert werden muss und vermeidet, die Chance Ausnahme zu generieren.

Beispiel

Im Beispiel für CPropertySheet::AddPage.

Anforderungen

Header: afxdlgs.h

Siehe auch

Referenz

CPropertySheet-Klasse

Hierarchiediagramm

CDialog::DoModal

CPropertySheet::Create