次の方法で共有


CDialog::EndDialog

モーダル ダイアログ ボックスを終了します。

void EndDialog(
   int nResult 
);

パラメーター

  • nResult
    ダイアログ ボックスから DoModal の呼び出し側に返す値。

解説

nResult は DoModal の戻り値です。 モーダル ダイアログ ボックスを作成したときは EndDialog 関数を使って処理を完了する必要があります。

いつでも EndDialog 関数を呼び出すことができます。OnInitDialog 関数の中からでもかまいません。この場合、ダイアログ ボックスを表示される前か、入力フォーカスが設定される前に閉じます。

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

その他の技術情報

CDialog のメンバー