怎么捕捉这个消息???(100分)

  • 主题发起人 主题发起人 wzg_woods
  • 开始时间 开始时间
W

wzg_woods

Unregistered / Unconfirmed
GUEST, unregistred user!
我自定义了一个组件mypanel,继承于Tpanel
在mypanel里面又放入一个Tpanel组件,panel1
现在我要同时捕捉到mypanel和panel1的WM_PAINT
消息,怎么办?
(mypanel的WM_PAINT消息可以通过重载Wndproc实现,但panel1的WM_PAINT怎么捕捉了??)
 
干吗要这样做?如果你实在要这样做,可以在你的mypanel中为Panel1.OnPaint重新指定一个事件,然后在你指定的这个事件里处理。
 
可是Tpanel没有onpaint事件呀!怎么给它添加onpaint事件
 
既然mypanel,继承于Tpanel
Tpanel就用 mypanel 代
 
这样不行的,有没有更好的办法呀
 
同意网中戏。
 
1,可以使用Application.onMessage但要注意如果多个控件执行同一个挂接代码,那只有最后一个好用。
2,可以使用SetWindowLong,由于panel也是窗口,可以使用此方法替换原始的窗口回调过程。
 
自定义一个消息,在Tpanel的WM_PAINT的消息处理方法发送自定义消息给mypanel,相当于间接响应
 
后退
顶部