Share via


CPropertySheet::DoModal

Muestra una hoja de propiedades modal.

virtual INT_PTR DoModal();

Valor devuelto

IDOK o IDCANCEL si la función es correcta; si no 0 o -1.Si la hoja de propiedades se ha establecido como asistente (vea SetWizardMode), DoModal devuelve ID_WIZFINISH o IDCANCEL.

Comentarios

El valor devuelto corresponde al identificador del control que cerró la hoja de propiedades.Después de esta función devuelve, las ventanas correspondiente a la hoja de propiedades y a todas las páginas se habrán destruyen.Los propios objetos todavía existirán.Normalmente, recuperará datos de los objetos de CPropertyPage después de que DoModal devuelve IDOK.

Para mostrar una hoja de propiedades no modal, llame a Crear en su lugar.

Cuando una página de propiedades se crea del recurso correspondiente del diálogo, puede producir una excepción de primera oportunidad.Esto resulta de la página de propiedades que cambia el estilo de recursos de cuadro de diálogo al estilo necesario antes de crear la página.Dado que los recursos son normalmente de solo lectura, esto produce una excepción.El sistema controla la excepción, y realiza una copia del recurso modificado.Excepción de primera oportunidad por lo que puede omitir.

[!NOTA]

Esta excepción se debe controlar por el sistema operativo si está compilando con la excepción asincrónica que administra el modelo.Para obtener más información sobre los modelos de control de excepciones, vea /EH (Modelo de control de excepciones).En este caso, no ajuste las llamadas a CPropertySheet::DoModal con la try-catch en cuestión. bloqueado en la que captura controla todas las excepciones, por ejemplo, catch (...).Este bloque deben la excepción dirigida al sistema operativo, y produce un comportamiento imprevisible.Sin embargo, puede utilizar con seguridad el control de excepciones de C++ con los tipos de excepción o el control de excepciones estructurado específicos donde la excepción de la infracción de acceso se pasan al sistema operativo.

Para evitar generar esta excepción de primera oportunidad, puede garantizar manualmente que la hoja de propiedades tiene Estilos de ventanacorrecto.Debe establecer los estilos siguientes para una hoja de propiedades:

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

Puede utilizar los estilos opcionales siguientes sin producir una excepción de primera oportunidad:

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

deshabilite el resto de los estilos de Windows porque no son compatibles con las hojas de propiedades.Este consejo no se aplica a los estilos extendidos.Establecer estos estilos estándar garantizará correctamente que la hoja de propiedades no tiene que modificar y lo evitará generar la excepción de primera oportunidad.

Ejemplo

Vea el ejemplo para CPropertySheet:: AddPage.

Requisitos

encabezado: afxdlgs.h

Vea también

Referencia

Clase de CPropertySheet

Gráfico de jerarquía

CDialog::DoModal

CPropertySheet::Create