Partager via


CDialog::EndDialog

Appelez la fonction membre pour terminer une boîte de dialogue modale.

void EndDialog(
   int nResult 
);

Paramètres

  • nResult
    Contient la valeur à retourner de la boîte de dialogue à l'appelant d' DoModal.

Notes

Cette fonction membre retourne nResult comme valeur de retour d' DoModal.Vous devez utiliser la fonction d' EndDialog pour terminer le traitement dès qu'une boîte de dialogue modale est créée.

Vous pouvez appeler EndDialog à tout moment, même dans OnInitDialog, auquel cas vous fermez la boîte de dialogue avant d'être affichée ou avant que le focus d'entrée a la valeur.

EndDialog ne ferme pas la boîte de dialogue immédiatement.À la place, il place une balise qui dirige la boîte de dialogue pour fermer dès que le gestionnaire de messages actuellement retourne.

Exemple

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!
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

Classe de CDialog

Graphique de la hiérarchie

CDialog::DoModal

CDialog::OnOK

CDialog::OnCancel