如果在CListCtrl中,在图标上或CListCtrl的空白区(没有图标的区域)按下鼠标右键,移动鼠标,就响应不了OnMouseMove函数。但如果不按下鼠标右键而移动鼠标,则可以响应OnMouseMove函数

解决方案 »

  1.   

    可能是控件使用了SetCapture, 按下后ReleaseCapture试试看
      

  2.   

    如果GetCapture得到的句柄是你CListCtrl控件的句柄那就是SetCapture了
      

  3.   

    但是在CListCtrl中,如果鼠标右键,然后移动鼠标的话,默认的行为是会选中一些Item,我是想把这个特性去除掉
      

  4.   

    比如,在CListCtrl中,鼠标右键按下的情况下,用线条绘画出鼠标移动的轨迹
      

  5.   

    按下鼠标,就好像在响应WM_LBUTTONDOWN的消息,
    可能就把 WM_MOUSEMOVE 屏蔽了。
      

  6.   

    WM_MOSUMOVE中是可以再检测其他状态的,比如按下左键移动(if(nFlag==LBUTTONDOWN)),或者按下右键移动(if(nFlag==RBUTTONDOWN)),
      

  7.   

    那请问怎样才可以解除对WM_MOUSEMOVE 的屏蔽
      

  8.   

    但按下鼠标右键再移动的话,就不再调用OnMouseMove函数了
      

  9.   

    不应该,我的程序怎么可以呢?我的是一个绘图的程序,需要按住鼠标进行绘图,在改变图形大小的时候就是在OnMouseMove中处理(可以判断鼠标的按下状态)
      

  10.   

    你可能要做类似鼠标手势的东西吧,用Hook来捕获鼠标消息即可。