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;
	}
}
原文地址:https://www.cnblogs.com/xi52qian/p/2112740.html