好些天没来些博客了,这段时间一直忙着找工作,终于尘埃落定,明天就要去上班了。把手头一直没结的事情做完吧还是。
这是前段时间做的一个组件,主要用于在后台线程处理大批量或者大数据的时候前台显示一个进度对话框,显得专业点。
效果图:
其实做这个也没啥难度,就是派生个 CWnd 的子类,一点一点用代码来创建上面的控件,一点点绘制就是了。
BCG 也有这样的东西,不过在给 Microsoft 整合进 VS2008 sp1 包的时候还没有,再加上为了更美观更个性一点,也为了避免版权争议,还是自己来写代码好了。喜欢 BCG 的朋友可以去它网站下载 Demo 比较一下 :)
个人觉得这里面值得一提的就是消息泵的使用了,通常我们都是被动的使用 MFC 封装好的消息队列,但是这里,需要自己来控制消息泵,避免主要操作的时候造成程序假死。不过代码也不多:
参考资料:
Hans Dietrich 的 XProgressWnd:http://www.codeproject.com/KB/miscctrl/XProgressWnd.aspx