我自己造了一个CStatic的子类,作为一个控件,
在这个子类中,我又构建了几个按钮(按钮的代码里有响应WM_LBUTTONDOWN的消息映射函数),可是当我的鼠标按下去的时候,只有那个按钮的消息函数响应了,而我的CStatic的子类的函数没有响应?我想消息大概是被那几个上面的按钮给吃掉了,我该怎么办TvT

解决方案 »

  1.   

    over load PreTranslateMessage for ur static ctrl
      

  2.   

    楼上的几位说的好像和消息传递没有关系啊,
    我觉得问题是,如何让按钮获得的wm_lButtonDown消息传给他的上层,就是我的STatic类,这样的一个问题啊
      

  3.   

    这个是当然的了!因为这个时候是你的按纽获得了Focus,而static没有啊!这样的话你可以在
    你点击按纽的函数里发送一个消息给其交窗口,也即static控件,假如你的static控件名为m_ctrStatic你就可以这样:
    ::SendMessage(m_ctrStatic.m_hWnd,WM_LBUTTONDOWN,NULL,NULL);
      

  4.   

    这个是当然的了!因为这个时候是你的按纽获得了Focus,而static没有啊!这样的话你可以在
    你点击按纽的函数里发送一个消息给其父窗口,也即static控件,假如你的static控件名为m_ctrStatic你就可以这样:
    ::SendMessage(m_ctrStatic.m_hWnd,WM_LBUTTONDOWN,NULL,NULL);
      

  5.   

    是Focus的问题?
    可是我的STatic同时还响应 鼠标当中的滚轮的消息函数,我滑动滚轮,滚轮的函数就响应了。注意,我可是先按下了那个按钮的前提下,滑动滚轮的....
      

  6.   

    PreTranslateMessage 截获以后转发