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.

ObservaçãoObservação

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 manipulação de exceção).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 de CPropertySheet

Gráfico de hierarquia

CDialog::DoModal

CPropertySheet::Create