实现目标:鼠标在界面上移动,停留在某一控件上时,该控件就向某一个确定类发送消息问题:如何确定鼠标停留在哪一个控件上说明:因为有很多个界面,且每个界面上都有很多个控件,不想在每个界面类的OnMouseMove中逐一区分控件的位置,太麻烦了有没有一种方法 可以通过写一个类来实现的向各位大大求助  

解决方案 »

  1.   

    1. hook mousemove 消息
    2. 根据鼠标的点获取hwnd
    3. 根据hwnd获取wndclass
    4. 根据wndclass来判断在哪些控件上
    5. 发送消息
      

  2.   

    感谢 LaoWu_ 和 sandyandy的关注特别是sandyandy的方法很不错贴出我自己的解决方法结贴:
    在每一个界面控件的基类的OnMouseMove中获取控件的ID;将获取到的ID以消息的方式发送给指定类;比方说:button的实现方式如下:首先创建一个基于CButton的子类CMyButtonclass CMyButton:public CButton
    {
    protected:
       afx_msg void OnMouseMove(UINT nFlags, CPoint point);// 在此行为中实现获取控件ID以及发送消息
    };