想要判断拖动滚动条时是向上拖还是向下拖,该怎么判断呢?
是拖动,不是滚动,谢谢!

解决方案 »

  1.   

    void CDlgView::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
    {
    switch(nSBCode)
    {
    case SB_LINEUP:
    case SB_LINEDOWN:
    case SB_THUMBTRACK:
    case SB_THUMBPOSITION:
    case SB_PAGEUP:
    case SB_PAGEDOWN:
    m_nY = 0;
    m_nY += nPos;
    break;
    default:
    break;
    }
    Invalidate();
    CScrollView::OnVScroll(nSBCode, nPos, pScrollBar);
    TRACE(L"%d,%d\n", nSBCode,nPos);
    }
      

  2.   

    我这里已经用SB_THUMBTRACK,来判断鼠标动作是拖动滚动条本身了,SB_PAGEDOWN是判断有没有到下页吧,跟我说的不是一个情况。
      

  3.   

    可是在这个函数里面OnVScroll,无法获知鼠标的x,y值。
      

  4.   

    移动整个滚动条怎么会在OnVScroll里?又不是滚动
      

  5.   

    滑块在最上面时offset为0,滑动的时候取得滑块的偏移量,再根据需要用到你的程序里,就像我的那段代码,,,
      

  6.   

    那不就是滚动,还拖动
    SB_THUMBPOSITION
    SB_THUMBTRACK
    是滚动,至于向上向下
    GetScrollPos32得到当前的位置,再跟OnVScroll传入的nPos进行比较。