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);

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值