子窗口消息和父窗口消息 我在对话框上放了一个有CStatic继承来的CMyStatic类对象,现在我想在对话框移动的时候,在CMyStatic类的内部来处理WM_MOVE消息,可是这个消息被父窗口截获了,我不想用SendMessage发送一个消息到CMyStatic对象,我想象控件反射消息那样在子窗口类中处理,有什么好的机制来实现?怎么能在父窗口得到消息之前,子窗口得到此消息? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 virtual BOOL PreTranslateMessage( MSG* pMsg ){ if(pMsg->message == WM_MOVE) { //work here }} 这个消息根本流不到子窗口,必须在父窗口中调用的,我是说能不能只在子类中处理,因为我是要封一个dll的。用户创建了一个子窗口,我还要扑捉它父窗口的动作。 消息反射也差不多就是主窗口调用子窗口的函数。写一个函数要父窗口调用咯。GetDlgItem(***) ->Move(***); 我发现最小化消息只流到父窗口,根本就没给子窗口发任何的消息,可是子窗口随着父窗口的最小化是消失了(hide)还是最小化了?就在最小化的时候,父窗口给子窗口发了什么消息?我没看到任何的消息,这是怎么回事? 用hook截获WM_MOVE再判断其窗口句柄是否和父句柄相等 这倒是个好方法,可是能给一小段代码吗?我对hook不懂。 可以对当前线程HOOK,应该可以解决。 子窗口在父窗口之前在得到WM_MOVE才有必要用HOOK,不知楼主想做什么,我觉得父窗口给子窗口发消息是最好的方法,即使子窗口另外封装成DLL。 我也很少用,不熟,不过我知道这个办法肯定行。你goole一下大把的,并不难 我有一事不明,当创建了WS_CHILD窗口后,父窗口的消息难道一定要在手工添加上传入到子窗口中,为什么父窗口不主动传到子窗口?那WS_CHILD的意义是什么?只有在WM_DESTROY时才通知子窗口?谁能给我解释一下,不胜感激。 父窗口并不是把所有消息都传给子窗口,只有一些对子窗口有意义的消息,比如WM_DESTROY父窗口内部应该也是通过类似Send/post消息的方式递消息 PostNcDestroy 中Delete this 抛出异常! 运行MFC程序后有错误 真心求教关于地址循检 求助:一个关于加载位图的小问题!!!谢谢各位 :) e的指数 怎么才能把MENU从一个程序中复制到另一个程序中 (高分求解)如何确定一个点是在轨迹里面、外面或者是轨迹上(这个轨迹是个五角星) 对大文件的处理问题? VC++控件原理求解 在多线程中如何使用自定义的消息 如何得到一个程序的主窗口? 杀毒需要什么基础?
MSG* pMsg )
{
if(pMsg->message == WM_MOVE)
{
//work here
}
}
你goole一下大把的,并不难
父窗口内部应该也是通过类似Send/post消息的方式递消息