基准滚动条,窗口不动

标准滚动条,窗口不动?
本帖最后由 VisualEleven 于 2014-08-19 10:32:14 编辑
对话框做好之后添加的“标准滚动条”,
初始化
SCROLLINFO vinfo;
vinfo.cbSize = sizeof (SCROLLINFO) ; 
vinfo.fMask = SIF_RANGE | SIF_PAGE ; 
vinfo.nMin = 0 ; 
vinfo.nMax = 150 ; 
vinfo.nPage = 10 ; 
SetScrollInfo(SB_VERT,&vinfo);


事件消息
void DEN3CALIBRATION::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
//CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
SCROLLINFO scrollinfo;  
GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); 
switch (nSBCode)  
{  
case SB_BOTTOM: //滑块滚动到最底部  
ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10);
scrollinfo.nPos = scrollinfo.nMax;
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL); 
break;  
case SB_TOP: //滑块滚动到最顶部  
ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10);  
scrollinfo.nPos = scrollinfo.nMin;  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
break;  
case SB_LINEUP: //单击上箭头  
scrollinfo.nPos -= 1;  
if (scrollinfo.nPos<scrollinfo.nMin)  
{  
scrollinfo.nPos = scrollinfo.nMin;  
break;  
}  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
ScrollWindow(0,10);  
break;  
case SB_LINEDOWN: //单击下箭头  
scrollinfo.nPos += 1;  
if (scrollinfo.nPos>scrollinfo.nMax)  
{  
scrollinfo.nPos = scrollinfo.nMax;  
break;  
}  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
ScrollWindow(0,-10);  
break;  
case SB_PAGEUP: //单击滑块上方空白区域  
scrollinfo.nPos -= 5;  
if (scrollinfo.nPos<scrollinfo.nMin)  
{  
scrollinfo.nPos = scrollinfo.nMin;  
break;  
}  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
ScrollWindow(0,10*5);  
break;  
case SB_PAGEDOWN: //单击滑块下方空白区域  
scrollinfo.nPos += 5;  
if (scrollinfo.nPos>scrollinfo.nMax)  
{  
scrollinfo.nPos = scrollinfo.nMax;  
break;  
}  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
ScrollWindow(0,-10*5);  
break;  
case SB_ENDSCROLL: //鼠标离开滑块,结束滑块拖动  
break;  
case SB_THUMBPOSITION:  
break;
case SB_THUMBTRACK: //拖动滑块  
ScrollWindow(0,(scrollinfo.nPos-nPos)*10);  
scrollinfo.nPos = nPos;  
SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);  
break;  
}     
 CDialog::OnVScroll(nSBCode, nPos, pScrollBar);  
}
 
滚动条可以滚动,但是,窗口不动?能帮忙看看啥原因吗?谢谢
------解决思路----------------------
对话框自己的滚动条要有:

------解决思路----------------------
 WS_VSCROLL 
------解决思路----------------------
 WS_HSCROLL 
属性
------解决思路----------------------
滚动条方面,建议参考codeproject的那个CScrollHelper类,多说无益,你看下代码细细体会就知道
http://www.codeproject.com/Articles/10902/Add-Scrolling-to-a-CWnd-or-CDialog-using-a-C-Helpe