Share via


CDialog::EndDialog

モーダル ダイアログ ボックスを終了するには、このメンバー関数を呼び出します。

void EndDialog(
   int nResult 
);

パラメーター

  • nResult
    ダイアログ ボックスで DoModalの呼び出し元に返す値を含みます。

解説

このメンバー関数は DoModalの戻り値として nResult を返します。モーダル ダイアログ ボックスが作成されるたびに処理を完了するに EndDialog 関数を使用する必要があります。

ウィンドウが表示された場合や、入力フォーカスが設定される前に、ダイアログ ボックスを閉じると、OnInitDialogEndDialog を、いつでも呼び出すことができます。

EndDialog は、ダイアログ ボックスを直ちに終了。代わりに、現在のメッセージ ハンドラーが戻ると直ちに終了、ダイアログ ボックスの指示するフラグを設定します。

使用例

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

必要条件

ヘッダー: afxwin.h

参照

関連項目

CDialog クラス

階層図

CDialog::DoModal

CDialog::OnOK

CDialog::OnCancel