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çã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