自己做了一个滚动条,但是不知道怎么样实现箭头被按住的消息响应。比如,按住箭头,他会变色之类,但是我看了一下鼠标消息里面没有pressdown这样的持续型消息。实现是不是通过先拦一个WM_LBUTTONDOWN再拦一个WM_LBUTTONUP这中间就算是按住?
有没有哪位高人,知道是怎么做?

解决方案 »

  1.   

    WM_LBUTTONDOWN时置某BOOL值为TRUE表示按下
    然后在WM_MOUSEMOVE中根据BOOL值处理是否是持续按下.(鼠标在按钮上并是按下状态则处理,否则不处理)
    WM_LBUTTONUP是置BOOL值为FALSE
      

  2.   

    WM_LBUTTONDOWN 绘制成按下位图 ,并且capturemouse
    WM_LBUTTONUP   绘制成弹起的位图
      

  3.   

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.onhscroll.asp
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_cwnd.3a3a.onvscroll.asp
    nSBCode
      

  4.   

    http://www.codeguru.com/Cpp/controls/controls/scrollbars/article.php/c2323
      

  5.   

    问一下太极,按滚动条的箭头不放,那个块块,会持续上移。你这样做,不能让块块持续上移让块块持续上移,是不是要lbuttondown的时候开启一个线程,lbutton up的时候,停止该线程