Condividi tramite


CDialog::EndDialog

Chiamare la funzione membro per terminare una finestra di dialogo modale.

void EndDialog(
   int nResult 
);

Parametri

  • nResult
    Contiene il valore da restituire dalla finestra di dialogo al chiamante DoModal.

Note

Questa funzione membro restituisce nResult come valore restituito DoModal.È necessario utilizzare la funzione EndDialog per completare l'elaborazione ogni volta che una finestra di dialogo modale viene creata.

È possibile chiamare EndDialog in qualsiasi momento, anche in OnInitDialogin questo caso, si chiude la finestra di dialogo prima che venga visualizzata o prima che lo stato attivo per l'input sia impostato.

EndDialog non chiudere la finestra di dialogo immediatamente.Invece, impostare un flag che indica la finestra di dialogo per chiudere non solo il gestore di messaggi corrente restituisce.

Esempio

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

Requisiti

Header: afxwin.h

Vedere anche

Riferimenti

Classe di CDialog

Grafico della gerarchia

CDialog::DoModal

CDialog::OnOK

CDialog::OnCancel