<b>拦阻Windows消息</b>[VC/C++编程]
本文“<b>拦阻Windows消息</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
---- Borland C++ Builder的API后门
---- 引子
---- C++ Builder不愧为Borland公司的优异产品,用它来开辟Windows程序非常快速高效,但在编程历程中你也会发现它的一些限制性,让你无法实现自己的设法.比方你无法在改正表单的系统菜单;比方利用跟踪栏时,你找不到StartTrack和EndTrack事件,而恰好你的程序需求这两个事件.Windows API编程中,你就不会有这些麻烦,只需处理一下WM_SYSCOMMAND和WM_HSCROLL(或WM_VSCROLL)消息,就可以实现上述功效.Windows API的缺陷是编程非常麻烦,太多的时间要耗在细节上面,但它的功效倒是最强盛的.C++ Builder的VCL在功效上只是它的一个子集,因为VCL是在API的底子上封装的,封装时舍弃了一些不常用到的功效.但是程序员的想象力没有被封装,他们总怀着更大的热忱去实现别开生面的设法,改正系统菜单和给跟踪栏增添StartTrack和ndTrack事件只是此中的小把戏罢了.但是VCL并没有这些功效,怎么办?
---- 好在,Borland公司没有把路堵死,而是留了个后门——答应程序员自己拦阻并处理Windows消息,就象API编程一样.于是,办法有了...
---- 办法
---- 拦阻Windows消息需求以下几步:
---- 在表单头文件内(如Unit1.h)
---- 1. 在类声明中成立消息映射表,把某条消息的处理权交给自定义的消息处理函数.
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(Windows消息名,TMessage,消息处理函数名)
MESSAGE_HANDLER(...)
END_MESSAGE_MAP(TForm)
---- 2. 在类声明的private区内声明消息处理函数.
private: // User declarations
void __fastcall 消息处理函数名(TMessage &Message);
以上是“<b>拦阻Windows消息</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |