欢迎来到天天文库
浏览记录
ID:38984231
大小:70.50 KB
页数:3页
时间:2019-06-23
《VC 对话框自带滚动条的使用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VC对话框自带滚动条的使用一,使用对话框窗口自带的滚动条,在属性页面中设置即可,如下二,OnInitDialog()函数中,添加如下滚动条初始化语句SCROLLINFOvinfo;vinfo.cbSize=sizeof(vinfo);vinfo.fMask=SIF_ALL;vinfo.nPage=50;//滚动块自身的长短,通常有如下关系:其长度/滚动条长度(含两个箭头)=nPage/(nMax+2),//另外nPage取值-1时,滚动条会不见了。vinfo.nMax=600;//滚动条所能滚动的最大值
2、vinfo.nMin=0;//滚动条所能滚动的最小值vinfo.nTrackPos=0;SetScrollInfo(SB_VERT,&vinfo);//即使上述步骤一不做,使用此条语句也可以显示滚动条三,添加相应的WM_VSCROLL函数voidCMy1d0Dlg::OnVScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar){//TODO:Addyourmessagehandlercodehereand/orcalldefaultSCROLLINFOscr
3、ollinfo;GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);switch(nSBCode){caseSB_BOTTOM://滑块滚动到最底部ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10);//滚动屏幕scrollinfo.nPos=scrollinfo.nMax;//设定滑块新位置SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);//更新滑块位置break;caseSB
4、_TOP://滑块滚动到最顶部ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMin)*10);scrollinfo.nPos=scrollinfo.nMin;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);break;caseSB_LINEUP://单击上箭头scrollinfo.nPos-=1;if(scrollinfo.nPos5、in;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,10);break;caseSB_LINEDOWN://单击下箭头scrollinfo.nPos+=1;if(scrollinfo.nPos>scrollinfo.nMax){scrollinfo.nPos=scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-6、10);break;caseSB_PAGEUP://单击滑块上方空白区域scrollinfo.nPos-=5;if(scrollinfo.nPos7、llinfo.nPos>scrollinfo.nMax){scrollinfo.nPos=scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-10*5);break;caseSB_ENDSCROLL://鼠标离开滑块,结束滑块拖动//MessageBox("SB_ENDSCROLL");break;caseSB_THUMBPOSITION://ScrollWindow(0,(scrollinf8、o.nPos-nPos)*10);//scrollinfo.nPos=nPos;//SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);break;caseSB_THUMBTRACK://拖动滑块ScrollWindow(0,(scrollinfo.nPos-nPos)*10);scrollinfo.nPos=nPos;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);b
5、in;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,10);break;caseSB_LINEDOWN://单击下箭头scrollinfo.nPos+=1;if(scrollinfo.nPos>scrollinfo.nMax){scrollinfo.nPos=scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-
6、10);break;caseSB_PAGEUP://单击滑块上方空白区域scrollinfo.nPos-=5;if(scrollinfo.nPos7、llinfo.nPos>scrollinfo.nMax){scrollinfo.nPos=scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-10*5);break;caseSB_ENDSCROLL://鼠标离开滑块,结束滑块拖动//MessageBox("SB_ENDSCROLL");break;caseSB_THUMBPOSITION://ScrollWindow(0,(scrollinf8、o.nPos-nPos)*10);//scrollinfo.nPos=nPos;//SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);break;caseSB_THUMBTRACK://拖动滑块ScrollWindow(0,(scrollinfo.nPos-nPos)*10);scrollinfo.nPos=nPos;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);b
7、llinfo.nPos>scrollinfo.nMax){scrollinfo.nPos=scrollinfo.nMax;break;}SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);ScrollWindow(0,-10*5);break;caseSB_ENDSCROLL://鼠标离开滑块,结束滑块拖动//MessageBox("SB_ENDSCROLL");break;caseSB_THUMBPOSITION://ScrollWindow(0,(scrollinf
8、o.nPos-nPos)*10);//scrollinfo.nPos=nPos;//SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);break;caseSB_THUMBTRACK://拖动滑块ScrollWindow(0,(scrollinfo.nPos-nPos)*10);scrollinfo.nPos=nPos;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);b
此文档下载收益归作者所有