資源描述:
《VC 對(duì)話框自帶滾動(dòng)條的使用》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、VC對(duì)話框自帶滾動(dòng)條的使用一,使用對(duì)話框窗口自帶的滾動(dòng)條,在屬性頁(yè)面中設(shè)置即可,如下二,OnInitDialog()函數(shù)中,添加如下滾動(dòng)條初始化語(yǔ)句SCROLLINFOvinfo;vinfo.cbSize=sizeof(vinfo);vinfo.fMask=SIF_ALL;vinfo.nPage=50;//滾動(dòng)塊自身的長(zhǎng)短,通常有如下關(guān)系:其長(zhǎng)度/滾動(dòng)條長(zhǎng)度(含兩個(gè)箭頭)=nPage/(nMax+2),//另外nPage取值-1時(shí),滾動(dòng)條會(huì)不見了。vinfo.nMax=600;//滾動(dòng)條所能滾動(dòng)的最大值
2、vinfo.nMin=0;//滾動(dòng)條所能滾動(dòng)的最小值vinfo.nTrackPos=0;SetScrollInfo(SB_VERT,&vinfo);//即使上述步驟一不做,使用此條語(yǔ)句也可以顯示滾動(dòng)條三,添加相應(yīng)的WM_VSCROLL函數(shù)voidCMy1d0Dlg::OnVScroll(UINTnSBCode,UINTnPos,CScrollBar*pScrollBar){//TODO:Addyourmessagehandlercodehereand/orcalldefaultSCROLLINFOscr
3、ollinfo;GetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);switch(nSBCode){caseSB_BOTTOM://滑塊滾動(dòng)到最底部ScrollWindow(0,(scrollinfo.nPos-scrollinfo.nMax)*10);//滾動(dòng)屏幕scrollinfo.nPos=scrollinfo.nMax;//設(shè)定滑塊新位置SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);//更新滑塊位置break;caseSB
4、_TOP://滑塊滾動(dòng)到最頂部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://單擊滑塊上方空白區(qū)域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://鼠標(biāo)離開滑塊,結(jié)束滑塊拖動(dòng)//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://拖動(dòng)滑塊ScrollWindow(0,(scrollinfo.nPos-nPos)*10);scrollinfo.nPos=nPos;SetScrollInfo(SB_VERT,&scrollinfo,SIF_ALL);b