dialogboxlndirect

  name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-5572165936844014&dt=1193665761703&lmt=1193665780&format=336x280_as&output=html&correlator=1193665761687&url=http%3A%2F%2Fwww.codeguru.cn%2Fpublic%2Fiframe%2Fwinapiiframe.htm&color_bg=FFFFFF&color_text=000000&color_link=000000&color_url=FFFFFF&color_border=FFFFFF&ad_type=text&ga_vid=1285758818.1193665762&ga_sid=1193665762&ga_hid=111695597&flash=9&u_h=768&u_w=1024&u_ah=740&u_aw=1024&u_cd=32&u_tz=480&u_his=8&u_java=true" frameborder="0" width="336" scrolling="no" height="280" allowtransparency="allowtransparency">     函数功能:该宏根据内存中的对话框模板资源创建一个模态的对话框。DialogBoxlndirect宏直到指定的回调函数通过调用EndDialog函数中止模态的对话框才能返回。DiaogBoxlndirect宏使用DialogBoxParam函数。函数原型:int DialogBoxlndirect(HINSTANCE hlnstance,LPDLGTEMPLATE IpTemplate,HWND hWndParent,DLGPROClpDialogFunc);

    参数:

    hlnstance:标识一个模块的事例,该模块创建对话框。

    IpTemplate:此参数指向含有一个模板的全局内存对象的指针。DialogBoxlndirect用此模板创建对话框。对话框模板由描述对话框的标题组成,跟随着标题之后的是描述每一个控制的一个或多个数据块,模板可以用标准格式或扩展格式。

    在标准模板中,标题是由DLGTEMPLATE结构跟随一个变长数组组成。每个控制的数据是由DLGTEMPLATE结构跟随一个变长数组组成。

    在扩展模板中,标题用DLGTEMPLATEEX格式,且控制定义用DLGITEMPLATEEX格式。

    HWndParent:指定拥有对话框的窗口。

    IpDialogFunc:指向对话框过程的指针。有关更详细的关于对话框过程的信息,请参见DialogProc。

    返回值:如果函数调用成功则返回值为在对函数EndDialog的调用中的nResult参数,该EndDialog函数用于中止对话框。如果函数调用失败,则返回值为C1。 若想获得更多错误信息请调用GetLastError函数。

    备注:DialogBoxlndirect宏使用CreateWindowEx函数创建对话枢.然后把一个WM_INITDIALOG消息传递到对话框过程。如果模板指定DS_SETFONT类型DialogBoxlndirect函数将一个WM_SETFONT消息传递到对话框。(不管模板是否指定WS_VISIBLE类型),函数显示对话框使属主窗口失效,且为对话框启动它本身的消息循环来检索和传递消息。

    当对话框应用程序调用EndDialog 函数时,DialogBoxlndirect函数清除对话框,中止消息循环,使主窗口生效(如果以前有效)且返回EndDialog函数调用中的nResult参数。

    在标准对话框模板中,DLGTEMPLATE结构和每一个DLGITEMTEMPLATE结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。

    在扩展对话框模板上DLGTEMPLATEEX结构和每一个DLGITEMTEMPLATEEX结构必须按DWORD边界对齐,遵循DLGEMTEPLATE结构而创建的数据数组也一定按DWORD边界对齐。模板中其他所有变长数组一定要按DWORD边界进行调整。

    所有对话框模板的字符串,例如对话框和按钮的标题,一定是Unicode字符串。使用

    MultiByteToWidechar函数产生这些Unicode字符串可以创建在Windows和Windows NT两种系统上工作的代码。

    Windows 95和以后版本:系统可支持每个对话框模板最多为255个控制。为把多于255个控制放入对话框。可以在WM_INITDLAIOG消息处理器中创建控制,而不是把它们放入模板中。

    Windows CE:IpTemplateName参数指向的对话框模板中DLGTEMPLATE结构并不支持所有的类型。

    速查:Windows NT:3.1 及以上版本;Windows:95及以上版本;Windows CE:1.0及以上版本;头文件:Winuser.h;库文件:user32.lib Unicode:在Windows NT上实现为Unicode和ANSI两种版本。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值