zoukankan      html  css  js  c++  java
  • CProgressCtrl 进度条

    1.CProgressCtrl类成员   

     

      CProgressCtrl() 构造一个CProgressCtrl对象

     

      Create() 创建一个进度条控件并将它与一个CProgressCtrl对象连接

     

      void SetRange( short nLower, short nUpper );为进度条控件设置范围的最小值和最大值,并重画进度条来反映新的范围,默认为0~100,若设置32位范围,用下面的函数。

            int StepIt( );使进度增加一个步长,步长值是由SetStep函数设置的,缺省的步长值是10.函数返回进度条的前一个进度.

     

      void GetRange( int& nLower, int& nUpper); 获取进度条控件范围的下限和上限

     

      int GetPos 获取进度条的当前位置

     

      int SetPos(int nPos) 设置进度条的当前位置并重画进度条来反映新的位置

     

      int OffsetPos(int nPos) 用一个指定的增量来增加进度条控件的当前位置,并重画此进度条来反映新的位置

     

      int SetStep( int nStep )为一个进度条控件指定每一步的增量,返回原来步长。

    2、进度条控制的类属性
      进度条控制的类属性包括设置进度条最大最小控制范围SetRange、设置进度条当前位置 SetPos、设置进度条当前位置偏移值OffsetPos和设置进度条控制增量值SetStep。
    3、进度条控制的操作方法
      进度条控制的操作方法主要是使进度条控制并重绘进度条的StepIt函数。
      进度条控制的应用技巧示例
      1、利用应用程序向导AppWizard生成基于对象框的应用程序CProgDlg;
      2、在对话框中设置进度条和静态文本控制,其ID分别为IDC_PROG和IDCPERCENT;
      在对话框初始代码中增加控制的范围和位置:
      在ProgDlg.h中设置两个数据成员,用来表示进度条的最大值和步长:
    //ProgDlg.h
    class CProgDlg:public Cdialog
    { ......//其它代码
    public:
    int m_nMax,m_nStep;
    ...... //其它代码
    }
      (2)在ProgDlg.cpp中设置初始状态
    BOOL CProgDlg::OnInitDialog()
    { Cdialog::OnInitDialog();
    ......//其它代码
    //TODO:Add extra initialization here
    CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
    pProgCtrl->SetRange(0,200);//设置进度条范围
    ......//其它代码
    m_nMax=200;
    m_nStep=10;
    SetTimer(1,1000,NULL);//设置进度条更新时钟
    return TRUE;
    }
      (3)完善WM_TIMER消息处理,使进度条按照当前步长进行更新,同时完成进度条的百分比显示:
    void CProgDlg::OnTimer(UINT nIDEvent)
    { //TODO:Add your message handler?
    CProgressCtrl *pProgCtrl=(CProgressCtrl*)GetDlgItem(IDC_PROG);
    int nPrePos=pProgCtrl->StepIt();//取得更新前位置
    char test[10];
    int nPercent=(int)(((nPrePos+m_nStep)/m_nMax*100+0.5);
    wsprintf(test,?%d%%?,nPercent);
    GetDlgItem(IDC_PERCENT)->SetWindowText(text);
    Cdialog::OnTimer(nIDEvent);
    }

  • 相关阅读:
    31天重构学习笔记9. 提取接口
    31天重构学习笔记4. 降低方法
    31天重构学习笔记8. 使用委派代替继承
    31天重构学习笔记11. 使用策略类
    31天重构学习笔记12. 分解依赖
    MyCat:第八章:MyCAT In Action中文版
    HDU 2041 超级楼梯
    CSU 1487 未覆盖顶点数量
    HDU 1712 ACboy needs your help
    HDU 2034 人见人爱AB
  • 原文地址:https://www.cnblogs.com/gosteps/p/2941508.html
Copyright © 2011-2022 走看看