• 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);
    }
  • 相关阅读:
    Reverse题的tips
    电子公文传输系统 团队作业(五):冲刺总结(第三天)
    webrtc sdp(会话传输协议)详解
    CentOS新系统开启网络
    FreeSWITCH Cookbook
    NetEngine AR V300R019 配置指南-IP业务(命令行)—— NAT
    将md(markdown)文件导出成pdf的最简单办法
    liblinear
    Accelerometer, Gyroscope, and Magnetometer Analysis with Matplotlib
    svmlight
  • 原文地址:https://www.cnblogs.com/yuqilihualuo/p/3580716.html
Copyright © 2020-2023  润新知