我的程序左边有一个Outlook bar,我要响应它的BCGM_CHANGE_ACTIVE_TAB消息,不过程序右边的视图中有一个CBCGPPropertySheet,也会发出这个消息,现在我无法分辨出是那个控件发出的。
有谁知道怎么解决吗?

解决方案 »

  1.   

    看看BCGM_CHANGE_ACTIVE_TAB这个消息的传递参数,
    一般情况下有两个参数WPARAM wParam, LPARAM lParam通过这两个参数肯定是可以区别是哪个控件向父窗口发出的消息
    具体的要参看BCG的帮助,我这上网的机器没装,回去看看帮助或者
    直接看看这个消息是在源代码的哪个地方发出来的,可以搜索到
      

  2.   

    记得这个消息是发送给控件的父窗口的,让Outlook bar类处理这个消息应该就可以啊
      

  3.   

    不行啊,wp是页面的序号(第一页是0……),lp不知道是什么,好像没有什么用,肯定不是控件地址
    这个消息都是发送到MainFrame的,没法分开处理
      

  4.   

    faint,难道BCG改了消息发送对象了?改BCG的源代码算了……
      

  5.   

    帮助里面是这样写的:
    wParam - Contains the number of a tag.
    lParam  -  This parameter is not used.
      

  6.   

    谢谢jiangsheng(蒋晟.MSMVP2004Jan)
    我原来直接用他的OutlookBar类,只能在MainFrame里面处理这个消息,现在我自己写一个类继承他,可以不在MainFrame里面处理了