Partilhar via


CDialog::EndDialog

Chamar essa função de membro para finalizar uma caixa de diálogo modal.

void EndDialog(
   int nResult 
);

Parâmetros

  • nResult
    Contém o valor a ser retornado da caixa de diálogo para o chamador de DoModal.

Comentários

Essa função de membro retorna nResult como o valor de retorno de DoModal.Você deve usar a função de EndDialog para concluir o processamento sempre que uma caixa de diálogo modal é criada.

Você pode chamar EndDialog a qualquer momento, mesmo em OnInitDialogem esse caso, você fechar a caixa de diálogo antes de ser mostrada ou antes que o foco de entrada está definida.

EndDialog não fecha a caixa de diálogo imediatamente.Em vez de isso, defina um sinalizador que direciona a caixa de diálogo para fechar o que o manipulador de mensagem atual retornar.

Exemplo

void CMyDialog::OnMenuShowSimpleModal()
{
   CSimpleDlg myDlg;
   INT_PTR nRet = myDlg.DoModal();

   if (nRet == IDOK || nRet == 5)
      AfxMessageBox(_T("Dialog closed successfully"));
}
void CSimpleDlg::OnRButtonUp(UINT nFlags, CPoint point)
{
   UNREFERENCED_PARAMETER(nFlags);
   // Do something

   int nRet = point.x; // Just any value would do!
   EndDialog(nRet); // This value is returned by DoModal!

   // Do something

   return; // Dialog closed and DoModal returns only here!
}

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CDialog

Gráfico de hierarquia

CDialog::DoModal

CDialog::OnOK

CDialog::OnCancel