捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
29 2017.06

DialogBoxIndirectParam

点击次数:1368 更新时间:2017-6-29 21:23:06  【打印此页

原文链接 -> 传送门

函数功能:

DialogBoxIndirectParam 函数用于在内存中创建一个基于模板的模态(模式)对话框。在显示对话框之前,函数把一个应用程序定义的值作为 WM_INITDIALOG 消息的 IParam 参数传到对话框。应用程序可用此值来初始化对话框控件。


API 函数原型:

注释:_In_ 说明该参数是输入的,_In_opt_ 说明该参数是输入同时是可选的。

INT_PTR WINAPI DialogBoxIndirectParam(
  _In_opt_ HINSTANCE      hInstance,
  _In_     LPCDLGTEMPLATE hDialogTemplate,
  _In_opt_ HWND           hWndParent,
  _In_opt_ DLGPROC        lpDialogFunc,
  _In_     LPARAM         dwInitParam
);



参数解析:
 

参数

含义

hInstance

指向创建对话框模块的句柄

lpTemplate

1. DialogBoxIndirect 函数创建的对话框模板。一个对话框模板由描述对话框的标题组成,紧随其后的是一个或多个附加描述对话框控件的数据块,。模板可以是标准格式或扩展格式
2. 在一个标准模板对话框中,标题是一个 DLGTEMPLATE 结构,之后是可变长度数组。每个控件的数据由 DLGITEMTEMPLATE 结构组成,之后是可变长度数组
3. 在一个扩展模板对话框,标题使用 DLGTEMPLATEEX 格式和控件定义使用 DLGITEMTEMPLATEEX 格式

hWndParent

指向创建对话框父窗口的句柄

lpDialogFunc

指向对话框应用程序的指针。有关更多的对话框应用程序的指针,参见 DialogProc 函数

dwInitParam

用来传递到对话框的 WM_INITDIALOG 消息的 IParam 参数值



返回值:

1. 如果执行成功,则返回值是调用 EndDialog 函数时传给它的 nResult 参数;

2. 如果执行失败,有多种原因:如果参数 hWndParent 无效,返回 0(这是为了与以前版本的 Windows 兼容其他原因)。如果是其他情况的失败,返回 -1。

获取更多的错误信息,需要调用 GetLastError 函数。


备注:

1. DialogBoxIndirect 宏使用 CreateWindowEx 函数创建对话框。然后发送一个 WM_INITDIALOG 消息给对话框程序。如果模板指定 DS_SETFONT 或 DS_SHELLFONT 类型,则追加发送一个 WM_SETFONT 消息。无论模板是否指定了 WS_VISIBLE 风格,对话框都会显示,然后禁用父窗口,在然后开始处理自己的消息。

2. 当对话框调用 EndDialog 函数后,DialogBoxIndirectParam 函数销毁对话框,结束它的消息循环,激活其父窗口(如果可以被激活的话),返回由对话框处理函数指定的 nResult 参数(它是被传递给 EndDialog 函数的)。

3. 在标准的对话框模版中 DLGITEMTEMPLATE 结构和每个 DLGTEMPLATE 结构大小必须是 DWORD 整数倍。跟随着 DLGITEMTEMPLATE 结构后面的数据数组大小也必须是 DWORD 的整数倍。模板中其他所有的可变长度数组大小必须是 WORD 的整数倍。

4. 在扩展对话框模板 DLGTEMPLATEEX 头和每个 DLGITEMTEMPLATEEX 控键定义大小必须是 DWORD 整数倍。跟随着 DLGITEMTEMPLATEEX 结构如果有数据数组大小也必须是 DWORD 整数倍。在扩展模板中其他所有的可变长度数组大小必须是 WORD 的整数倍。

5. 所有对话框模板中的字符串,比如对话框的标题和按钮的标题,必须是 Unicode 字符串(可以使用 MultiByteToWideChar 函数把 ANSI 字符串转成 Unicode 字符串)。


需求:
 

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

DialogBoxIndirectParamW (Unicode) 和 DialogBoxIndirectParamA (ANSI)

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1368 更新时间:2017-6-29 21:23:06  【打印此页
关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修