voidCLableDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){
SCROLLINFO scrollinfo;GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);int unit=3;switch(nSBCode){case SB_LINEUP://Scroll one line up
scrollinfo.nPos -=1;if(scrollinfo.nPos<scrollinfo.nMin){
scrollinfo.nPos = scrollinfo.nMin;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,unit);break;case SB_LINEDOWN://Scroll one line down
scrollinfo.nPos +=1;if(scrollinfo.nPos+scrollinfo.nPage>scrollinfo.nMax)//此处一定要注意加上滑块的长度,再作判断{
scrollinfo.nPos = scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-unit);break;case SB_PAGEUP://Scroll one page up.
scrollinfo.nPos -=5;if(scrollinfo.nPos<=scrollinfo.nMin){
scrollinfo.nPos = scrollinfo.nMin;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,unit*5);break;case SB_THUMBTRACK://Drag scroll box to specified position. The current position is provided in nPosScrollWindow(0,(scrollinfo.nPos-nPos)*unit);
scrollinfo.nPos = nPos;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);break;}CDialogEx::OnVScroll(nSBCode, nPos, pScrollBar);}