首页 > 其他 > 详细

MFC滚动条的使用

时间:2014-03-05 10:09:29      阅读:476      评论:0      收藏:0      [点我收藏+]

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

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

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

bubuko.com,布布扣
//垂直滚动条的响应函数
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);
}
bubuko.com,布布扣

MFC滚动条的使用,布布扣,bubuko.com

MFC滚动条的使用

原文:http://www.cnblogs.com/yuqilihualuo/p/3580716.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!