CDialog::EndDialog
モーダル ダイアログ ボックスを終了するには、このメンバー関数を呼び出します。
void EndDialog(
int nResult
);
パラメーター
- nResult
ダイアログ ボックスで DoModalの呼び出し元に返す値を含みます。
解説
このメンバー関数は DoModalの戻り値として nResult を返します。モーダル ダイアログ ボックスが作成されるたびに処理を完了するに EndDialog 関数を使用する必要があります。
ウィンドウが表示された場合や、入力フォーカスが設定される前に、ダイアログ ボックスを閉じると、OnInitDialogの EndDialog を、いつでも呼び出すことができます。
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