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