Partager via


CPropertySheet::DoModal

Affiche une feuille de propriétés modale.

virtual INT_PTR DoModal();

Valeur de retour

IDOK ou IDCANCEL si la fonction a abouti ; sinon 0 ou -1. Si la feuille de propriétés a été créée comme assistant (consultez SetWizardMode), DoModal retourne ID_WIZFINISH ou IDCANCEL.

Notes

La valeur de retour correspond à l'ID du contrôle qui a fermé la feuille de propriétés. Une fois cette fonction, les fenêtres correspondant à la feuille de propriétés et à toutes les pages auront été perdues. Les objets eux-mêmes existeront toujours. En général, vous récupérerez des données des objets de CPropertyPage après DoModal retourne IDOK.

Pour afficher une feuille de propriétés non modale, appelez Create à la place.

Lorsqu'une page de propriétés est créée à partir de sa ressource de boîte de dialogue correspondante, elle peut provoquer une exception de première chance. Cela résulte de la page de propriétés modification du style de la ressource de boîte de dialogue au style requis avant que la page ne soit créée. Étant donné que les ressources sont généralement en lecture seule, cela provoque une exception. Le système gère l'exception, et effectue une copie de la ressource modifiée. L'exception de première chance peut être ignorée.

Notes

Cette exception doit être gérée par le système d'exploitation si vous compilez avec le modèle asynchrone de gestion des exceptions.Pour plus d'informations sur les modèles de gestion des exceptions, consultez /EH (Modèle de gestion des exceptions).Dans ce cas, n'encapsulent pas les appels à CPropertySheet::DoModal avec le bloc try-catch C++ dans lequel le Catch gère toutes les exceptions, par exemple, catch (...).Ce bloc gèrerait l'exception attendue pour le système d'exploitation, et provoque un comportement imprévisible.Toutefois, vous pouvez ignorer sans risque utiliser la gestion des exceptions C++ avec les types ou la gestion structurée des exceptions spécifiques où l'exception de violation d'accès est passée au système d'exploitation.

Pour éviter de générer cette exception de première chance, vous pouvez manuellement garantir que la feuille de propriétés a styles de fenêtrecorrect. Vous devez définir les styles suivants pour une feuille de propriétés :

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

Vous pouvez utiliser les styles facultatifs suivants sans provoquer une exception de première chance :

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

Désactivez les autres styles Windows car ils ne sont pas compatibles avec les feuilles de propriétés. Ce conseil ne s'applique pas aux styles étendus. La définition de ces styles standard correctement garantira que la feuille de propriétés ne doit pas être modifiée et évitera de générer l'exception de première chance.

Exemple

Consultez l'exemple pour CPropertySheet::AddPage.

Configuration requise

en-tête : afxdlgs.h

Voir aussi

Référence

CPropertySheet, classe

Graphique de la hiérarchie

CDialog::DoModal

CPropertySheet::Create