  | 
      
        
          2樓
          巨大八爪鱼
          2016-2-15 21:24
          
          
           
         
        目前滚轮已经基本完成。
  
       | 
    
    
        | 
      
        
          3樓
          巨大八爪鱼
          2016-2-15 21:50
          
          
           
         
        nMax = SCROLL_MAX(si); // 滚动条滑块左端最多只能滚动到nMax处而非si.nMax处, si.nMax是对于滚动条滑块右端来说的。另外, 当垂直滚动条消失时, 该值还会减小,因为此时si.nPage的值会增大
  /*     // 小实验:      //    如果强行用SetScrollPos设置超过SCROLL_MAX但小于si.nMax的值     //    那么在GetScrollPos的时候得到的值会自动减小为SCROLL_MAX     //  这说明si.nMax是一个虚值,滚动条的位置根本就不可能到达该值,最大只能到达SCROLL_MAX     case WM_LBUTTONDOWN:         si.cbSize = sizeof(SCROLLINFO);         si.fMask = SIF_ALL;         GetScrollInfo(hWnd, SB_HORZ, &si);         nMax = SCROLL_MAX(si);         nNewPos = nMax + 10;         SetScrollPos(hWnd, SB_HORZ, nNewPos, TRUE);         nMax = GetScrollPos(hWnd, SB_HORZ);         sprintf_s(text, "setpos: %d, getpos: %d, si.nMax = %d", nNewPos, nMax, si.nMax);         SetWindowTextA(hWnd, text);         break;*/ 
       | 
    
    
        | 
      
        
          4樓
          巨大八爪鱼
          2016-2-22 20:10
          
          
           
         
        不过,目前我还不知道怎样开启按下鼠标中间后的飞轮功能
  
       |