大家好,又见面了,我是你们的朋友全栈君。
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使用
在进度条上会以百分比的形式显示出来 步长/(最大值-最小值)
代码示例
void CMFCControlTestDlg::OnBnClickedBtPro()
{
// TODO: 在此添加控件通知处理程序代码
m_progressCtrl.SetRange32(0, 1000);//设置进度条的最小值和最大值
int nFirstStep = m_progressCtrl.SetStep(10);//设置步长,返回原来步长,默认是最大值的1%
for (int x=1; x<=10; x++)
{
m_progressCtrl.SetPos(x*10);//设置一个位置
int a = m_progressCtrl.StepIt();//在原位置上增加一个步长距离,配合SetStep使用,先设置步长才能使用这个
Sleep(100);
}
m_progressCtrl.OffsetPos(400);//在原位置上增加400距离
if (m_progressCtrl.GetPos() > 1000)//获取当前位置
{
m_progressCtrl.SetPos(0);
}
}
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/154244.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...