Microsoft Visual Studio 2015
新建一个基于对话框的应用程序,工程名为ScrollBar。
界面设计如下添加一个Horizontal ScrollBar,一个Vertical ScrollBar,两个文本控件和两个按钮。
为Horizontal ScrollBar添加响应函数OnHScroll(),响应函数OnHScroll()中添加一下代码:void CScrollBarDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nTemp1,nTemp2; nTemp1=pScrollBar->GetScrollPos(); CString str; str.Format('%d',nTemp1); GetDlgItem(IDC_HDATA)->SetWindowText(str); switch(nSBCode) { case SB_THUMBPOSITION: pScrollBar->SetScrollPos(nPos); break; case SB_LINELEFT: nTemp2=(nMax-nMin)/10; if((nTemp1-nTemp2)>nMin) nTemp1-=nTemp2; else nTemp1=nMin; pScrollBar->SetScrollPos(nTemp1); break; case SB_LINERIGHT: nTemp2=(nMax-nMin)/10; if((nTemp1+nTemp2)
为Vertical ScrollBar添加响应函数OnVScroll(),响应函数OnVScroll()中添加一下代码:void CScrollBarDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { int nTemp1,nTemp2; nTemp1=pScrollBar->GetScrollPos(); CString str; str.Format('%d',nTemp1); GetDlgItem(IDC_VDATA)->SetWindowText(str); switch(nSBCode) { case SB_THUMBPOSITION: pScrollBar->SetScrollPos(nPos); break; case SB_LINEUP: nTemp2=(nMax-nMin)/10; if((nTemp1-nTemp2)>nMin) nTemp1-=nTemp2; else nTemp1=nMin; pScrollBar->SetScrollPos(nTemp1); break; case SB_LINEDOWN: nTemp2=(nMax-nMin)/10; if((nTemp1+nTemp2)
为初始化函数添加一下代码:CScrollBar*pSB=(CScrollBar*)GetDlgItem(IDC_HSCROLL); pSB->SetScrollRange(nMin,nMax); pSB=(CScrollBar*)GetDlgItem(IDC_VSCROLL); pSB->SetScrollRange(nMin,nMax);
程序运行如下:
注意ScrollBar的使用