进度窗口:XProgressWindow

本文介绍了一个用于后台处理大量数据时显示进度的自定义组件。该组件通过控制消息泵避免程序假死,并提供取消操作的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好些天没来些博客了,这段时间一直忙着找工作,终于尘埃落定,明天就要去上班了。把手头一直没结的事情做完吧还是。

这是前段时间做的一个组件,主要用于在后台线程处理大批量或者大数据的时候前台显示一个进度对话框,显得专业点。

 

效果图:

效果图

 

 

其实做这个也没啥难度,就是派生个 CWnd 的子类,一点一点用代码来创建上面的控件,一点点绘制就是了。

BCG 也有这样的东西,不过在给 Microsoft 整合进 VS2008 sp1 包的时候还没有,再加上为了更美观更个性一点,也为了避免版权争议,还是自己来写代码好了。喜欢 BCG 的朋友可以去它网站下载 Demo 比较一下 :)

 

个人觉得这里面值得一提的就是消息泵的使用了,通常我们都是被动的使用 MFC 封装好的消息队列,但是这里,需要自己来控制消息泵,避免主要操作的时候造成程序假死。不过代码也不多:

 

 

 

参考资料:

Hans Dietrich 的 XProgressWnd:http://www.codeproject.com/KB/miscctrl/XProgressWnd.aspx

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值