Windows窗口高级编程-第四讲摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows窗口高级编程-第四讲摘要

第九节:异形窗口 RGNDATA结构体 该结构包含一个RGNDATAHEADER结构体跟一组描述区域的矩形。 typedef struct _RGNDATA { RGNDATAHEADER rdh; //一个RGNDATAHEADER结构体的变量,为区域数据头信息。 char Buffer[1]; //指定一个任意大小的缓冲区,用于存放区域信息的RECT结构体。 } RGNDATA; 第九节:异形窗口 RGNDATAHEADER结构体 该结构体描述区域数据头的信息。 typedef struct _RGNDATAHEADER { DWORD dwSize; //该结构体的大小 DWORD iType; //区域的类型,该值必须为RDH_RECTANGLES。 DWORD nCount; //组成区域的所有矩形的个数 DWORD nRgnSize; //组成区域的所有矩形的缓冲区的大小,如果不知道,可以为零。 RECT rcBound; //区域的矩形边界 } RGNDATAHEADER; 第十节:消息对话框 MessageBox函数 消息对话框是一种模态对话框,用于向用户显示文本信息。可以通过调用API函数MessageBox来弹出消息框。 int MessageBox( HWND hWnd, //系统消息框的所有者窗口 LPCTSTR lpText, //系统消息框显示的内容的文本 LPCTSTR lpCaption, //系统消息框的标题内容的文本 UINT uType //决定消息框支持的内容与行为的标志集 ); 返回值:用户最终点击系统消息框内的按钮的ID。有如下返回值: IDABORT: 用户点击了“终止”按钮。 IDCANCEL:用户点击了“取消”按钮。 IDCONTINUE:用户点击了“继续”按钮。 IDIGNORE:用户点击了“忽略”按钮。 IDNO:用户点击了“否”按钮 IDOK:用户点击了“确定”按钮 IDRETRY:用户点击了“重试”按钮 IDYES:用户点击了“是”按钮。 第十节:消息对话框 第十一节:钩子 安装钩子函数SetWindowsHookEx 功能:SetWindowsHookEx函数为钩子的安装函数。 HHOOK SetWindowsHookEx( int idHook, //钩子的类型 HOOKPROC lpfn, //钩子程序的函数指针。如果dwThreadId参数为0或者是由别的进程创建的线 //程标识,lpfn必须指向DLL中的钩子程序。如果dwThreadId为当前进程所创 //建的线程标识,那么lpfn可以指向当前进程的钩子程序。lpfn为HOOKPROC //类型。HOOKPROC的类型定义如下: //typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); //code提示了是否要处理该消息,如果参数值为HC_ACTION,则可以处理该消息。如果code值小于 //0,则不需处理该消息,这时要调用CallNextHookEx函数并返回这个函数的值。CallNextHookEx //为调用钩子列表中下一个钩子的钩子程序。 HINSTANCE hmod, // hmod为lpfn所在程序模块的实例的句柄。如果dwThreadId为当前进程所创建的线 //程标识并且钩子程序代码也位于当前进程,那么hmod必须为NULL。 DWORD dwThreadId //与钩子程序相关联的线程的标识符,如果为零,钩子程序就与所有的线程关联,这时 //的钩子就是全局钩子。 ); 第十一节:钩子 钩子类型 每一种类型的钩子可以使应用程序能够监视不同类型的系统消息处理机制。具体有: WH_CALLWNDPROC和WH_CAALLWNDPROCRET:这2种类型可以使你监视发送到窗口过程的消息。系统在消息发送到接收窗口过程之前调用WH_CALLWNDPROC类型的钩子,在窗口过程处理完消息之后调用WH_CALLWNDPROCRET类型的钩子。 WH_CBT:在以下事件之前,系统都会调用WH_CBT类型的钩子,这些事件包括: 1)激活,建立,销毁,最小化,最大化,移动,改变窗口大小等窗口事件; 2)完成系统指令; 3)来自系统消息队列中的移动鼠标,键盘的事件;

文档评论(0)

586334000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档