控件要监控窗体的消息,除了用钩子之外还有其他更简单的办法吗?(20分)

  • 主题发起人 主题发起人 xuzhenjie
  • 开始时间 开始时间
X

xuzhenjie

Unregistered / Unconfirmed
GUEST, unregistred user!
如题。
我想做一个系统菜单的控件,需要在窗体收到WM_SYSCOMMAND时触发某个事件。
除了给主窗体加个钩子之外,还有其他简单一点的办法吗?我担心钩子会影响性能。
 
这么久了,没人知道吗?
我自己倒是想到了个办法,不知道行不行,回头试一下。
写一个处理消息的方法,把窗口的WndProc给包起来,过滤到想要的消息之后传给窗口的WndProc。然后用SetWindowLong把窗口的消息处理过程重定向到这个方法。
 
也就这两种方法是比较好理解和实现的。。。。
 
你就用消息过程处理:wm_syscommand 不就行了
 
楼上的方法也行。
在WNDPROC过程中对消息进行过滤处理不就OK了。没必要用到钩子。
 
对主窗体捕捉消息不需要用到钩子,捕捉其他程序的消息才要用到
 
这个问题已经设置WindowsProc属性的方法给解决了。问题是,如果多放几个这样的控件在窗体上,岂不是各个控件都要抢窗体的WindowsProc了,可能会达不到想要到效果。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
851
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部