MFC基于对话框编程实例:使用“未定义进度”的进度条(有一节小进度在进度条中滚动)

效果展示-------

(由于gif的录制问题,进度显示不连贯,实际上效果很不错的)

程序实例-------

1、打开Visual Studio(此文以VS2010做例子),新建一个基于对话框的MFC程序,命名为Progress。

2、向对话框中拖入一个Progress控件、一个Check Box,调整好控件和对话框的大小。

3、设置ID:进度条IDC_PROGRESS、复选框IDC_CHECK,注意大小写

4、更改进度条的属性:Marquee为True。

5、为进度条添加CProgressCtrl变量:m_progress

6、在CProressDlg的OnInitDialog函数中添加代码:

m_progress.SetMarquee(TRUE,30); //设置进度条的进度段长度
((CButton*)GetDlgItem(IDC_CHECK))->SetCheck(1); //默认复选框为选中状态

7、为复选框添加按下处理程序OnBnClickedCheck,函数代码如下:

void CProgressDlg::OnBnClickedCheck()
{
	// TODO: 在此添加控件通知处理程序代码
	BOOL bChecked = ((CButton*)GetDlgItem(IDC_CHECK))->GetCheck(); //把复选框选中状态传递给bChecked
	if(bChecked) //如果复选框被选中
		m_progress.ModifyStyle(NULL,WS_VISIBLE); //使进度条可见
	else //如果复选框没有被选中
		m_progress.ModifyStyle(WS_VISIBLE,NULL); //使进度条不可见

	Invalidate(); //重绘窗口
}

 

8、现在可以生成应用程序了。

9、启动调试,就可以看到效果。默认进度条显示,复选框选中,取消复选框选择即可隐藏进度条;再次选中即可出现进度条。

工程文件及源代码下载:https://download.csdn.net/download/baidu_38494049/10700023

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值