情景描述:
    在dialog上面加上控件,如picture control 、tree control 。添加Dialog 的ON_WM_MOUSEMOVE() 消息,发现只要鼠标移到控件上就无法响应move的消息!  在picture control 上打开NOTIFY 属性,可以相应单击消息,但鼠标移动的消息,就是无法响应,-----不知道有什么方法?
请各位指教-

解决方案 »

  1.   

    Picture控件的Disable你设为True了吗
      

  2.   

    问题是在相应了MOVE消息之后,怎么同时相应 鼠标单击的消息
       ;
      

  3.   

    设一个Bool KeyDownStatus当鼠标按下时,讲其设为True,鼠标抬起,设为False在Move中判断这个Bool的值即可
      

  4.   


    是这样的:
      我在对话框中添加了一个pictures contol ,成线状,然后当我鼠标移动到这根线上面的时候,鼠标改变形状,  为东西方向的箭头,然后当我鼠标按键开始拖动,到抬起来的时候, 这个线到新的位置。所以,你说的把 pictures contol  disabled之后,虽然能 完成识别鼠标这一步,问题是之后的单击 无法响应。  所以我问,怎么这样  添加代码设置激活,并模拟发送单击pictures contol 的消息!
      

  5.   

    针对你标题:
           1 可以派生一个类来响应
            2 把控件的消息处理都放在对话框中来处理
    对于后者,你要判断鼠标的位置,如果鼠标移到了控件所在的范围,你可以发送一个消息或则直接处理。
       对于你说的“在picture control 上打开NOTIFY 属性,可以相应单击消息,但鼠标移动的消息,就是无法响应,”它当然不响应鼠标移动的消息了,因为你鼠标移动的消息是在对话框中处理的,属于对话框,而不属于控件的,至于单击消息,是因为你“打开NOTIFY 属性”让控件可以单击消息,并且你该消息是你为控件添加,属于控件,有控件来响应,如果你添加WM_LBUTTONDOWN的话,控件是不会响应的,因为控件是在对话框之上,你单击是控件,不是对画框。你看看你的单击消息是不是给控件添加的?
    “Picture控件的Disable你设为True”这是让控件不可用,就向没有控件一样,是透明的,你在它上面做的任何操作都是相当于在对话框上。所以你的单击消息不响应,移动消息响应的是对话框的。