简单的滚动条的创建

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、运行程序




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值