DialogBoxIndirectParam

【勇芳软件工作室】汉化HomePreviousNext

DialogBoxIndirectParam函数从内存中的对话框模板创建一个模态对话框。在显示对话框之前,该函数将应用程序定义的值传递给对话框过程作为WM_INITDIALOG消息的【lParam的】参数。应用程序可以使用此值初始化对话框控件。

int DialogBoxIndirectParam(

HINSTANCE 【的hInstance】,//处理应用程序实例
LPCDLGTEMPLATE 【hDialogTemplate】,//标识对话框模板
HWND 【hWndParent】,//处理所有者窗口
DLGPROC 【lpDialogFunc】,//指向对话框的过程
LPARAM 【dwInitParam】//初始化值
); 

参数

【的hInstance】

标识创建对话框的模块的实例。

【hDialogTemplate】

指向包含DialogBoxIndirectParam用于创建对话框的模板的全局内存对象。对话框模板由描述该对话框的标题组成,后跟一个或多个附加的数据块,描述对话框中的每个控件。模板可以使用标准格式或扩展格式。

在对话框的标准模板中,标题是DLGTEMPLATE结构,后面跟着可变长度的数组。每个控件的数据由DLGITEMTEMPLATE结构和其他可变长度数组组成。

在对话框的扩展模板中,标题使用DLGTEMPLATEEX格式,控件定义使用DLGITEMTEMPLATEEX格式。

【hWndParent】

标识拥有该对话框的窗口。

【lpDialogFunc】

指向对话框的过程。有关对话框过程的详细信息,请参阅DialogProc.

【dwInitParam】

指定要传递给WM_INITDIALOG消息的【lParam的】参数中的对话框的值。

返回值

如果函数成功,则返回值为调用EndDialog函数中用于终止对话框的【如果函数失败,返回值为-1。】参数。

如果函数失败,返回值为-1。

备注

DialogBoxIndirectParam功能使用CreateWindowEx功能创建对话框。DialogBoxIndirectParam然后发送WM_INITDIALOG消息到对话框过程。如果模板指定了DS_SETFONT样式,该函数还会向对话框过程发送一条WM_SETFONT消息。该函数显示对话框(无论模板是否指定WS_VISIBLE样式),禁用所有者窗口,并启动自己的消息循环来检索和调度对话框的消息。