MFC滚动条的使用

1.初始化滚动条和显示静态文本

//水平滚动条
     plistbox = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR1);
     plistbox->SetScrollRange(0,100);// 滑块移动的位置为0-100
    //静态文本框
    char str;
    sprintf(&str,"%d%c",0,'%');
     GetDlgItem(IDC_text)->SetWindowText(&str);

2.添加消息响应函数,并做相关处理

//垂直滚动条的响应函数
void CDialogDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
    // TODO: Add your message handler code here and/or call default

    CDialog::OnVScroll(nSBCode, nPos, pScrollBar);
}
//水平滚动条的响应函数
void CDialogDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
    // TODO: Add your message handler code here and/or call default
    int nTemp1 = 0;
    int nTemp2 = 0;
    
    nTemp1 = pScrollBar->GetScrollPos();//获取滚动条的当前位置
    switch (nSBCode)
    {
    case SB_THUMBPOSITION://当前的绝对位置,已经停下
        pScrollBar->SetScrollPos(nPos);//设置为当前位置
        break;
    case SB_LINELEFT://按方向键坐时触发
        nTemp2 = 1;
        if(nTemp1>=nTemp2) nTemp1 -=nTemp2;
        else           nTemp1 = 0;
        pScrollBar->SetScrollPos(nTemp1);//设置当前位置
        break;
    case SB_LINERIGHT://按方向键向右移动时
        nTemp2 = 1;
        if(nTemp1<100)    nTemp1 +=nTemp2;
        else            nTemp1 = 100;
        pScrollBar->SetScrollPos(nTemp1);
        break;
    }
    //显示百分比
    char str;
    sprintf(&str,"%d%c",nTemp1,'%');
     GetDlgItem(IDC_text)->SetWindowText(&str);
    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}

转载于:https://www.cnblogs.com/yuqilihualuo/p/3580716.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值