EndDialog 関数 (winuser.h)

モーダル ダイアログ ボックスを破棄し、ダイアログ ボックスの処理が終了します。

構文

BOOL EndDialog(
  [in] HWND    hDlg,
  [in] INT_PTR nResult
);

パラメーター

[in] hDlg

型: HWND

破棄するダイアログ ボックスへのハンドル。

[in] nResult

種類: INT_PTR

ダイアログ ボックスを作成した関数からアプリケーションに返される値。

戻り値

種類: BOOL

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

DialogBox、DialogBoxParamDialogBoxIndirectDialogBoxIndirectParam 関数によって作成されたダイアログ ボックスは、EndDialog 関数を使用して破棄する必要があります。 アプリケーションは、ダイアログ ボックス プロシージャ内から EndDialog を呼び出します。関数を他の目的で使用することはできません。

ダイアログ ボックス プロシージャは、WM_INITDIALOG メッセージの処理中でも、いつでも EndDialog を呼び出すことができます。 WM_INITDIALOG処理中にアプリケーションが関数を呼び出した場合、ダイアログ ボックスは表示される前と入力フォーカスが設定される前に破棄されます。

EndDialog はダイアログ ボックスを直ちに破棄しません。 代わりに、フラグを設定し、ダイアログ ボックス プロシージャがシステムに制御を返すことができます。 システムは、アプリケーション キューから次のメッセージを取得する前にフラグを確認します。 フラグが設定されている場合、システムはメッセージ ループを終了し、ダイアログ ボックスを破棄し、ダイアログ ボックスを作成した関数からの戻り値として nResult の値を使用します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll
API セット ext-ms-win-ntuser-dialogbox-l1-1-0 (Windows 8で導入)

関連項目

概念

ダイアログ ボックス

ダイアログ

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

リファレンス

WM_INITDIALOG