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