实现你的窗体的PreTranslateMessage函数,通过参数pMsg里的hwnd和message找到Button的WM_MOUSEMOVE消息。

解决方案 »

  1.   

    自己新建一个窗口类(继承CWnd,不是WindowClass),处理WM_MOUSEMOVE事件。
    CMyWnd w;w.SubclassWindow(按钮句柄)或者w.SubclassDlgItem(id,parent)
      

  2.   

    oldmanzhao 
    还是没说清楚:
    如何 通过参数pMsg里的hwnd和message找到Button的WM_MOUSEMOVE消息
      

  3.   

    窗体中所有的消息都要经过PreTranslateMessage函数,然后再传递给窗体中其他元素处理。它的参数pMsg就是此时的MSG消息结构体,你可以在当它的值等于WM_MOUSEMOVE时做你想要是操作。
    if(message==WM_MOUSEMOVE)
      ::GetCaretPos(point);
      

  4.   

    如果m_btn1是你的按钮,那么就用if(pMsg->hwnd == m_btn1 && pMsg->message == WM_MOUSEMOVE)进行判断