我新建了一个单文档的应用程序,然后动态建立了一个按钮,假如我要响应按钮的鼠标消息(WM_MOUSEMOVE)该怎么办,我知道可以通过SetWindowLong改写按钮的窗口过程函数,然后在新的窗口过程中响应WM_MOUSEMOVE消息,
那还有没有其他的简单的办法,注意我一定要是动态的按钮,
用这个ON_COMMAND(btnID,proc)只能截获按钮的点击消息,不能截获鼠标消息。
大家有没有好的办法,不吝赐教。
谢谢

解决方案 »

  1.   

    在按钮的基类里加
    virtual BOOL PreTranslateMessage(
       MSG* pMsg 
    );
    这个虚函数,在这里处理.
      

  2.   

    呵呵,感谢oldn_CC_bird,
    估计我要添加个新类,然后再重写virtual BOOL PreTranslateMessage(
      MSG* pMsg  
    );
    在这个函数中响应WM_MOUSEMOVE
      

  3.   

    新加类的话你直接处理他的mousemove消息就可以了。不想新加的话就处理基类的PreTranslateMessage