1、新建一个MFC 基于对话框的新项目
2、加入一个Horizontal Scroll Bar的按钮
3、初始化滚动条(在C滚动条Dlg 的 BOOL C滚动条Dlg::OnInitDialog())
在滚动条中关联一个control类别的变量m_scroll
//初始化滚动条
SCROLLINFO si = { 0 };
si.cbSize = sizeof(si);//计算大小
si.nMin = 0;//滚动到左边为0
si.nMax = 100;//滚动到右边为100
si.nPage = 10;//每滚动一页为十
m_scroll.SetScrollInfo(&si);
4、打开对话框属性,找到WM_HSCRELL,进行编辑,加入以下代码
// TODO: 在此添加消息处理程序代码和/或调用默认值
//取得滚动条当前所有的状态
SCROLLINFO si = { 0 };
si.cbSize = sizeof(si);
si.fMask = SIF_ALL;
pScrollBar->GetScrollInfo(&si);//获得当前位置
int nNewPos = si.nPos;
switch (nSBCode)
{
case SB_THUMBTRACK://拉动滚动条
nNewPos = nPos;
break;
case SB_LINELEFT://左点箭头
nNewPos -= 1;//向左加一
break;
case SB_LINERIGHT://右点箭头
nNewPos += 1;
break;
case SB_PAGELEFT://左翻页
nNewPos -= si.nPage;
break;
case SB_PAGERIGHT://右翻页
nNewPos += si.nPage;
break;
default:
break;
}
if (nNewPos > si.nMax)
nNewPos = si.nMax;
if (nNewPos < si.nMin)
nNewPos < si.nMin;
pScrollBar->SetScrollPos(nNewPos);//获得加一后滚动条的位置
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
5、运行程序