zoukankan      html  css  js  c++  java
  • mfc CProgressCtrl

    CProgressCtrl常用属性
    CProgressCtrl类常用成员函数
    CProgressCtrl代码示例
    
    一、CProgressCtrl控件属性    
       当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。
      vertical :是否垂直显示。
      smooth :平滑过度,不显示进度方块。可以显示更细致。
    
    二、CProgressCtrl类常用成员函数 
      
    SetRange
    void SetRange( short nLower, short nUpper );
      为进度条控件设置范围的最小值和最大值,并重画进度条来反映新的范围,默认为0~100,若设置32位范围,用下面的函数。 -0x8fff~0x7FFF
    SetRange32
    void SetRange32( int nLower, int nUpper); 
    为进度条控件设置范围的最小值和最大值,并重画进度条来反映新的范围 
    GetRange
    void GetRange( int&nLower, int&nUpper );
    获取进度条控件范围的下限和上限 
    GetPos
    获取进度条的当前位置
    SetPos
    设置进度条的当前位置,并重画进度条来反映新的位置
    OffsetPos
    在原位置上增加一段数值,并重画进度条来反映新的位置
    SetStep
    设置进度条前进的步长,返回原来步长。配合StepIt使用
    在进度条上会以百分比的形式显示出来 步长/(最大值-最小值)
    
    
    三、 代码示例
    
    
    void CDialog_Progress_Test::OnBnClickedButton1()
    {
        // TODO: 在此添加控件通知处理程序代码
        //0..100
        CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        prgctl->SetPos(50);
    
    }
    
    void CDialog_Progress_Test::OnBnClickedButton2()
    {
        // TODO: 在此添加控件通知处理程序代码
    
        CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
    
        prgctl->SetRange32(0,300);
    }
    
    void CDialog_Progress_Test::OnBnClickedButton3()
    {
        // TODO: 在此添加控件通知处理程序代码
        CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        static int i=0;
        prgctl->SetPos(i);
        i+=10;
        if (i>=300)
        {
            i=0;
        }
    }
    
    void CDialog_Progress_Test::OnBnClickedButton4()
    {
        // TODO: 在此添加控件通知处理程序代码
            CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
            prgctl->OffsetPos(10);
    }
    
    void CDialog_Progress_Test::OnBnClickedButton5()
    {
        // TODO: 在此添加控件通知处理程序代码
     CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
     prgctl->SetStep(3);
    }
    
    void CDialog_Progress_Test::OnBnClickedButton6()
    {
        // TODO: 在此添加控件通知处理程序代码
        CProgressCtrl* prgctl=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
        prgctl->StepIt();
    }
  • 相关阅读:
    [UWP 开发] 一个简单的Toast实现
    纯MarkDown博客阅读体验优化
    [沈航软工教学] 3、4班最终成绩排行榜
    [沈航软工教学] 期末附加作业
    [沈航软工教学] 前十三周3,4班排行榜
    [沈航软工教学] 前十二周3,4班排行榜
    [沈航软工教学] 前八周3,4班排行榜
    BugPhobia准备篇章:Beta阶段前后端接口文档
    BugPhobia回顾篇章:团队Alpha阶段工作分析
    BugPhobia贡献篇章:团队贡献分值与转会确定
  • 原文地址:https://www.cnblogs.com/whzym111/p/6215048.html
Copyright © 2011-2022 走看看