Partilhar via


CDialog::DoModal

Chame essa função de membro para invocar a caixa de diálogo modal e retornar o resultado da caixa de diálogo quando terminar.

virtual INT_PTR DoModal( );

Valor de retorno

An int valor que especifica o valor da nResult parâmetro passado para o CDialog::EndDialogfunção de membro , que é usada para fechar a caixa de diálogo.O valor retornado é – 1 se a função não foi possível criar a caixa de diálogo ou IDABORT se ocorreu algum Outros erro, que nesse caso o Janela de saída conterá informações de erro de GetLastError.

Comentários

Esta função de membro manipula toda a interação com o usuário, enquanto a caixa de diálogo está ativo.Este é o que torna a caixa de diálogo modal; isto é, o usuário não pode interagir com outras janelas até que a caixa de diálogo seja fechada.

Se o usuário clicar em um dos pushbuttons na caixa de diálogo, sistema autônomo OK ou Cancelar, um mensagem-função de membro de manipulador, sistema autônomo OnOK or OnCancel, é chamado para tentar fechar a caixa de diálogo.O padrão de OnOK função de membro validar e atualizar os dados de caixa de diálogo e fechar a caixa de diálogo com resultado IDOKe o padrão de OnCancel função de membro irá fechar a caixa de diálogo com resultado IDCANCEL sem validar ou atualizar os dados de caixa de diálogo.Você pode substituir essas funções de manipulador de mensagens para alterar seu comportamento.

Observação:

PreTranslateMessage Agora é chamado o processamento de mensagem de caixa de diálogo modal.

Exemplo

void CMyDialog::OnMenuShowAboutDialog()
{
   // Construct the dialog box passing the 
   // ID of the dialog template resource
   CDialog aboutDlg(IDD_ABOUTBOX);

   // Create and show the dialog box
   INT_PTR nRet = -1;
   nRet = aboutDlg.DoModal();

   // Handle the return value from DoModal
   switch (nRet)
   {
      case -1: 
         AfxMessageBox(_T("Dialog box could not be created!"));
         break;
      case IDABORT:
         // Do something
         break;
      case IDOK:
         // Do something
         break;
      case IDCANCEL:
         // Do something
         break;
      default:
         // Do something
         break;
   };
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CDialog

Gráfico de hierarquia

DialogBox

CWnd::IsDialogMessage

Outros recursos

Membros CDialog