MFC ScrollBar使用
1. 在对话框中拖入CScrollBar控件,并修改ID
2. 在对话框的InitDialog函数中增加如下代码,完成CScrollBar的初始化。
CScrollBar* pScrollBar = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HORIZONTAL);
// 滑块移动的位置为0-100
pScrollBar->SetScrollRange(0,100);
pScrollBar = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_VERTICAL);
pScrollBar->SetScrollRange(0,100)
3. 针对对话框添加WM_HSCROLL和WM_VSCROLL两个消息处理函数,如下所示:
void CEx06aDialog::OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar ) { int nTemp1 = 0; int nTemp2 = 0; nTemp1 = pScrollBar->GetScrollPos(); 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) > nMax) { nTemp1 = nMax; } else { nTemp1 += nTemp2; } pScrollBar->SetScrollPos(nTemp1); break; } }