原文链接 -> 传送门
函数功能:
根据对话框模板资源创建一个模态对话框。在显示对话框之前,函数将一个应用程序定义的值作为 WM_INITDIALOG 消息的 lParam 参数传递到对话框过程,应用程序可用此值来初始化对话框控件。
API 函数原型:
注释:_In_ 说明该参数是输入的,_opt_ 说明该参数是可选参数。
INT_PTR WINAPI DialogBoxParam( _In_opt_ HINSTANCE hInstance, _In_ LPCTSTR lpTemplateName, _In_opt_ HWND hWndParent, _In_opt_ DLGPROC lpDialogFunc, _In_ LPARAM dwInitParam );
参数解析:
|
参数 |
含义 |
|
hInstance |
指向对话框模板的模块句柄。如果这个值为 NULL,则为当前可执行程序的句柄 |
|
lpTemplateName |
对话框模板。此参数要么是指向一个以 NULL 结尾的字符串的指针,并且该字符串指定对话框模扳名,要么是指定对话框模板的资源标识符的一个整型值。如果此参数指定了一个资源标识符,则它的高位字一定为零,并且低位字一定含有这个标识符。你可以使用 MAKEINTRESOURCE 宏指令创建此值 |
|
hWndParent |
指向拥有该对话框的窗口的句柄 |
|
lpDialogFunc |
指向对话框过程的指针。有关对话框过程的更多信息,请参见 DialogProc 函数 |
|
dwInitParam |
传递到对话框过程中的 WM_INITDIALOG 消息的 IParam 参数的值 |
返回值:
1. 如果函数调用成功,则返回值为通过调用 EndDialog 函数终止对话框时 nResult 参数所指定的值。
2. 如果因为 hWndParent 参数无效导致函数调用失败,则返回值为 0。在这种情况下该函数返回 0 是为了与早期的 Windows 版本兼容。如果函数因为其他原因导致调用失败,则返回值为 -1。
想获取更多错误信息,请调用 GetLastError 函数。
备注:
1. DialogBoxParam 函数是使用 CreateWindowEx 函数创建对话框。DialogBoxParam 然后把一个 WM_INITDIALOG消息(如果模板指定了 DS_SETFONT 或 DS_SHELLFONT 风格,还会发送 WM_SETFONT 消息)发送给对话框过程。函数显示对话框(不管模板是否指定 WS_VISIBLE 风格),并使拥有该对话框的窗口失效,并且为对话框启动它本身的消息循环来检索和分派消息。
2. 当对话框过程调用 EndDialog 函数时,DialogBoxParam 函数销毁对话框,并终止对话框消息循环,使拥有该对话框的窗口生效(如果以前有效),并且返回当调用 EndDialog 函数时对话框过程指定的 nResult 参数。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |
|
Unicode and ANSI names |
DialogBoxParamW (Unicode) 和 DialogBoxParamA (ANSI) |




