Partilhar via


CPropertySheet::DoModal

Exibe uma folha de propriedades modal.

virtual INT_PTR DoModal();

Valor de retorno

IDOK ou IDCANCEL se a função tenha êxito; se não 0 ou -1. Se a folha de propriedade foi estabelecido como um assistente (consulte) SetWizardMode, DoModal retorna ID_WIZFINISH ou IDCANCEL.

Comentários

O valor de retorno corresponde a identificação do controle que finaliza a folha de propriedades. Depois que essa função retorna, janelas que correspondem a folha de propriedades e para todas as páginas tenham sido destruídas. Os objetos propriamente ainda existirão. Normalmente, você irá recuperar dados dos objetos de CPropertyPage após DoModal retorna IDOK.

Para exibir uma folha de propriedades sem-modo, chame Criar em vez de isso.

Quando uma página de propriedades é criada do recurso correspondente da caixa de diálogo, pode causar uma exceção de primeira tentativa. Isso resulta da página de propriedades que altera o estilo de recurso da caixa de diálogo para o estilo necessário antes da página ser criada. Porque os recursos são geralmente somente leitura, este causa uma exceção. O sistema manipula a exceção, e faz uma cópia do recurso modificado. A exceção de primeira tentativa portanto pode ser ignorada.

Dica

Esta exceção deve ser tratada pelo sistema operacional se você estiver criando assíncrona com o modelo de manipulação de exceção.Para obter mais informações sobre modelos de manipulação de exceção, consulte /EH (modelo de tratamento de exceções).Em esse caso, não coloque chamadas a CPropertySheet::DoModal com bloco try-catch de C++ em que a imagem trata todas as exceções, por exemplo, catch (...).Este bloco trata a exceção pretendida para o sistema operacional, e faz com que o comportamento imprevisível.Em o entanto, você pode com segurança usar tratamento de exceções C++ com tipos específicos de exceções ou tratamento de exceção estruturada na qual a exceção de violação de acesso é passada pelo sistema operacional.

Para evitar gerar esta exceção de primeira tentativa, você pode manualmente garantir que a folha de propriedade tem Estilos de janelacorreto. Você precisa definir os seguintes estilos de uma folha de propriedades:

  • DS_3DLOOK

  • DS_CONTROL

  • WS_CHILD

  • WS_TABSTOP

Você pode usar os seguintes estilos opcionais sem causar uma exceção de primeira tentativa:

  • DS_SHELLFONT

  • DS_LOCALEDIT

  • WS_CLIPCHILDREN

Desativar todos outros estilos do windows porque não são compatíveis com folhas de propriedade. Este conselhos para não se aplica estilos estendidos. Definir esses estilos padrão adequadamente garantir que a folha de propriedades não tem que ser modificada e evitá-lo-á gerar a exceção de primeira tentativa.

Exemplo

Consulte o exemplo para CPropertySheet::AddPage.

Requisitos

Cabeçalho: afxdlgs.h

Consulte também

Referência

Classe CPropertySheet

Gráfico da hierarquia

CDialog::DoModal

CPropertySheet::Create