Partilhar via


CDialog::DoModal

Chamar essa função de membro para chamar a caixa de diálogo modal e retornar o resultado da caixa de diálogo quando acaba.

virtual INT_PTR DoModal( );

Valor de retorno

Um valor de int que especifica o valor do parâmetro de nResult que foram passados à função de membro de CDialog::EndDialog , que é usada para fechar a caixa de diálogo.O valor de retorno é 1 – se a função não pôde criar a caixa de diálogo, ou IDABORT se outro erro ocorreu, em esse caso A janela de saída conterá informações de erro de GetLastError.

Comentários

Essa função de membro trata qualquer interação com o usuário quando a caixa de diálogo está ativa.Este é o que faz a caixa de diálogo modal; isto é, o usuário não pode interagir com outras janelas até que a caixa de diálogo é fechada.

Se o usuário clica em uma das teclas na caixa de diálogo, como OK ou cancelar, uma função de membro de mensagem- manipulador, como OnOK ou OnCancel, é chamado para tentar fechar a caixa de diálogo.A função de membro padrão de OnOK validará e atualizar os dados da caixa de diálogo e fechado a caixa de diálogo com resultado IDOK, e a função de membro padrão de OnCancel fechará a caixa de diálogo com resultado IDCANCEL sem validar ou atualizar os dados da caixa de diálogo.Você pode substituir estas funções de mensagem- manipulador para alterar seu comportamento.

ObservaçãoObservação

PreTranslateMessage agora é chamado para processamento de mensagem do 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 de CDialog

Gráfico de hierarquia

DialogBox

CWnd::IsDialogMessage