首页 > 代码库 > CProgressCtrl进度条

CProgressCtrl进度条

 

CProgressCtrl进度条 使用方法总结

标签: CProgressCtrlmfc
技术分享 分类:
 

目录(?)[+]

 

CProgressCtrl 控件属性    

当我们在处理大程序时,常常需要耗很长时间(比如搜索内存,复制大文件),为了不让用户错误的认为系统已经死机,我们要给程序添加进度条。

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使用

在进度条上会以百分比的形式显示出来 步长/(最大值-最小值)

代码示例

 

[cpp] view plain copy
 
 print?技术分享技术分享
  1. void CMFCControlTestDlg::OnBnClickedBtPro()  
  2. {  
  3.     // TODO: 在此添加控件通知处理程序代码  
  4.     m_progressCtrl.SetRange32(0, 1000);//设置进度条的最小值和最大值  
  5.     int nFirstStep = m_progressCtrl.SetStep(10);//设置步长,返回原来步长,默认是最大值的1%  
  6.   
  7.     for (int x=1; x<=10; x++)  
  8.     {  
  9.         m_progressCtrl.SetPos(x*10);//设置一个位置  
  10.         int a = m_progressCtrl.StepIt();//在原位置上增加一个步长距离,配合SetStep使用,先设置步长才能使用这个  
  11.         Sleep(100);  
  12.     }  
  13.     m_progressCtrl.OffsetPos(400);//在原位置上增加400距离  
  14.     if (m_progressCtrl.GetPos() > 1000)//获取当前位置  
  15.     {  
  16.         m_progressCtrl.SetPos(0);  
  17.     }  
  18. }

CProgressCtrl进度条