cfhookproc

  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">     函数功能:该挂钩函数是一个应用程序定义的或库定义的回调函数,此回调函数与ChooseFont函数一起使用。挂钩函数接收用于Font公共对话框的缺省对话框函数的消息和通告。

    LPCFHOOKPROC类型定义了一个指向这种回调函数的指针。CFHOOKProc是一个由应用程序定义的函数名的位置占有者。

    函数原型:UINT CALLBACK CFHookProc(HWND hdlg,UINT uiMsg,WPARAM wParam,LPARAM IParam);

    参数:

    hdlg:指向消息所指的Font对话框窗口的句柄。

    uiMsg:指定存放的消息。

    wParam:指定有关消息的其他信息。精确的意义根据uiMsg参数的值来决定。

    IParam:指定有关消息的其他信息。精确的意义根据uiMSg参数的值来决定。如果uiMsg参数表明WM_INITDIALOG消息,则IParam是一个指向CHOOSEFONT结构的指针,该结构含有创建公共对话框时指定的值。

    返回值:如果挂钩函数返回零值,缺省对话框函数处理消息。如果挂钩函数返回一个非零值,缺省对话框函数忽略消息。

    备注:用ChooseFont函数创建一个Font对话框时,可以为对话框函数提供挂钩函数来处理消息。

    为使挂钩函数生效,要用传送到对话创建函数的CHOOSEFONT结构,指定IpfnHook成员中挂钩函数的地址和Flags成员中CF_ENABLEHOOK标志。

    缺省的对话框函数处理WM_INTDIALOG消息后,把它传送给挂钩函数。对于其他消息,挂钩函数首先存放此消息。然后挂钩函数的返回值决定缺省对话函数是否处理消息或忽略它。

    如果挂钩函数处理 WM_CTLCOLORDLG信息,它必须返回一个有效的刷子句柄,以刷对话的背景。

    总之,如果挂钩函数处理任何一个WM_CTLCOLOR消息,那么必须返回一个有效刷子句柄,以绘制指定控制的背景不须从挂钩函数调用EndDialog函数。相反,挂钩函数能调用PostMessage函数,把带有IDABORT值的一个WM_CDOMMAND信息传送给对话框函数Posting IDABORT关闭对话框,使对话框函数退回FALSE值,若要了解为什么挂钩函数关闭对话框,必须提供挂钩函数和应用程序之间的联系机理。

    可以对公共对话框的标准控制面板进行子分类。但是公共对话框函数也可以对控制面板进行子分类。正因如此,必须在挂钩函数WM_INTDIALDG处理消息时对控制面板子分类。这就保证对话框函数设置子分类函数之前,子分类函数接收指定的控制消息。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件:commdlg.h;库文件:用户自定义。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值