endDialog 函数 (winuser.h)

销毁模式对话框,导致系统结束对对话框的任何处理。

语法

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

参数

[in] hDlg

类型:HWND

要销毁的对话框的句柄。

[in] nResult

类型: INT_PTR

要从创建对话框的函数返回到应用程序的值。

返回值

类型: BOOL

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

必须使用 EndDialog 函数销毁由 DialogBoxDialogBoxParamDialogBoxIndirectDialogBoxIndirectParam 函数创建的对话框。 应用程序从对话框过程中调用 EndDialog ;函数不得用于任何其他目的。

对话框过程可以随时调用 EndDialog ,即使在处理 WM_INITDIALOG 消息期间也是如此。 如果应用程序在处理 WM_INITDIALOG 时调用函数,则会在显示对话框之前和设置输入焦点之前销毁该对话框。

EndDialog 不会立即销毁对话框。 相反,它设置一个标志,并允许对话框过程将控制权返回到系统。 在尝试从应用程序队列检索下一条消息之前,系统会检查标志。 如果设置了标志,系统将结束消息循环,销毁对话框,并使用 nResult 中的值作为创建对话框的函数的返回值。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-dialogbox-l1-1-0 (

请参阅

概念性

对话框

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

引用

WM_INITDIALOG