程序功能实现:
滑块可以拖动也可以点击 左右按左键,和滑块空白处。
设置 长度0-100 页面翻动为10
设置控件变量
设置控件变量
初始化滑动模块设置初始值
// TODO: 在此添加额外的初始化代码
SCROLLINFO si ={0};//结构(滚动信息)
si.cbSize=sizeof(si);//结构 信息大小
si.fMask=SIF_RANGE|SIF_PAGE;//滚动条的范围
si.nMin=0;//最小值为
si.nMax=109;//最大值为
si.nPage=10;//滑块点击跳转的长度(一页的长度)
m_scroll.SetScrollInfo(&si);//滑动条的关变量获得信息
控制滑动模块,在界面信息里面找到水平滑动模块的处理函数
void CMFCday3BDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
SCROLLINFO si={0};//
si.cbSize=sizeof(si);
si.fMask=SIF_ALL;
pScrollBar->GetScrollInfo(&si);
int nNewPos=si.nPos;
switch(nSBCode)//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:
}
if(nNewPos>si.nMax)//设置大小,不能出界
nNewPos=si.nMax;
if(nNewPos<si.nMin)
nNewPos=si.nMin;
pScrollBar->SetScrollPos(nNewPos);//将新的值设置入滑动条中
CString s;//定义字符串
s.Format(_T("%d"),nNewPos);//将nNewPos变成字符串
m_poss= s;
UpdateData(FALSE);
CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}