Condividi tramite


CPropertySheet::DoModal

Visualizza una finestra delle proprietà modale.

virtual INT_PTR DoModal();

Valore restituito

IDOK o IDCANCEL se la funzione è riuscita, in caso contrario 0 o -1.Se la finestra delle proprietà è stata impostata la procedura guidata (vedere SetWizardMode), DoModal restituisce ID_WIZFINISH o IDCANCEL.

Note

Il valore restituito corrisponde all'ID del controllo che ha chiuso la finestra delle proprietà.Dopo il completamento della funzione, le finestre che corrispondono alla finestra delle proprietà e le pagine si saranno eliminati.Gli oggetti ancora saranno disponibili.In genere, verranno recuperati i dati dagli oggetti CPropertyPage dopo DoModal restituisce IDOK.

Per visualizzare una finestra delle proprietà non modale, chiamare Crea anziché.

Quando una pagina delle proprietà viene creata dalla finestra di dialogo corrispondente, può causare un'eccezione first-chance.Ciò deriva dalla pagina delle proprietà che modifica lo stile della finestra di dialogo allo stile necessario prima che la pagina sia creata.Poiché le risorse sono in genere di sola lettura, si genera un'eccezione.Il sistema gestisce l'eccezione e ne esegue una copia della risorsa modificata.Le eccezioni first-chance può pertanto essere ignorato.

[!NOTA]

Questa eccezione deve essere gestita dal sistema operativo se si sta compilando con il modello di gestione delle eccezioni asincrono.Per ulteriori informazioni sui modelli di gestione delle eccezioni, vedere /EH (Modello di gestione delle eccezioni).In questo caso, non eseguire il wrapping delle chiamate a CPropertySheet::DoModal con il blocco try-catch C++ in cui il latch gestisce eventuali eccezioni, ad esempio, catch (...).Questo blocco gestirebbe eccezione prevista per il sistema operativo e causa un comportamento imprevedibile.Tuttavia, è possibile utilizzare in modo sicuro la gestione delle eccezioni C++ con i tipi di eccezione specifici o la gestione delle eccezioni strutturata in cui l'eccezione di violazione di accesso passata al sistema operativo.

Per evitare di generare questa eccezione first-chance, è necessario garantire la finestra delle proprietà ha Stili della finestracorretto.È necessario impostare gli stili per una finestra delle proprietà:

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

È possibile utilizzare i seguenti stili facoltativi senza provocare un'eccezione first-chance:

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

Disabilita tutti gli altri stili di Windows poiché non sono compatibili con le finestre delle proprietà.Questo utilizzo non si applica agli stili estesi.Impostare gli stili standard in modo appropriato garantirà la finestra delle proprietà non deve essere modificata e eviterà generare un'eccezione first-chance.

Esempio

Vedere l'esempio relativo CPropertySheet::AddPage.

Requisiti

intestazione: afxdlgs.h

Vedere anche

Riferimenti

Classe di CPropertySheet

Grafico della gerarchia

CDialog::DoModal

CPropertySheet::Create