| 
			  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;*/
 |