软件启动闪屏的原理与实现

想给公司的软件加一个启动闪屏,看看有现成的源代码没有,结果上网看了一下,没有合适的,有人做了闪屏,却是阻塞式的,也就是说什么都不干,让主程序Sleep,光闪屏给用户看,这哪是闪屏嘛,连闪屏的基本作用都没弄明白,就开始发文章号称实现了多帅的效果,服了。之后自己写了一个,这里共享一下闪屏的思路。

闪屏的本意,是因为软件启动过程比较慢,动态显示一些信息给用户,防止用户过于傻等而不爽。以前VC6时代可以自动加入这个功能,VS2008反而没有了,需要自己来实现了。


由于代码在公司不能拿出来,这里共享一下思路。


1  从CWinThread继承一个类,比如叫CFlashThread,在这个类中,增加以下方法:

     1  AddMsg(LPCTSTR szMsg);

      2  AddMsg(const CString& strMsg);

    3  CString& GetMsg();

    4  SetExitFlag();

    实现过程很简单,用一个CStringArray,保存传入进来的字符串。GetMsg函数,会自动将第一个字符串返回,并移除CStringArray队列的第一个。注意AddMsg和GetMsg,要增加CCriticalSection,进行保护,防止多线程同时操作。


2  从CWnd继承一个窗口类,比如叫CFlashWnd,这个类,用来实现闪屏的主界面,给用户呈现一个图片,并且不断的刷新缓存的字符串

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值