"MFC- 软件启动画面之浅入深出" 本文将深入探讨如何在MFC(Microsoft Foundation Class)框架下创建软件的启动画面,这是一条适合初学者入门C++编程的路径,旨在帮助奠定扎实的基础。我们将通过以下步骤详细解释这个过程: 1. **创建启动画面图片**: 首先,你需要准备一个启动画面的图像,通常以.bmp格式保存。可以使用Photoshop或其他图像编辑工具制作,并将其调整为适当尺寸。 2. **使用AppWizard创建项目**: 接下来,通过AppWizard创建一个新的MFC应用程序。在项目设置中,可以选择添加启动画面选项。 3. **导入图片到资源文件**: 打开Visual Studio的资源编辑器,将刚才创建的.bmp图像导入到项目的资源文件中。确保图像的ID设置为如IDB_SPLASH这样的唯一标识符。 4. **添加SplashScreen类**: 在项目中,通过“Add to Project” -> “Components and Controls” -> “Visual C++ Components”选择添加SplashScreen控件。插入后,系统会自动创建与之相关的源代码文件,如Splash.CPP和Splash.H。 5. **设置定时器**: 在CSplashWnd类的OnCreate()函数中,使用SetTimer()函数设置一个定时器,以便在指定时间(如750毫秒)后自动关闭启动画面。这样可以控制启动画面的显示时长。 6. **实现逻辑控制**: 除了显示启动画面,还需要处理其他逻辑,例如检查权限、初始化程序状态等。在没有错误或授权问题的情况下,启动画面应该能够顺利过渡到主应用程序界面。 7. **注意的问题**: 在实现SplashScreen时,可能会遇到一些特定于MFC的问题,比如在SDI(Single Document Interface)模式下,由于MFC的某些特性,可能导致错误。这时可能需要自定义CWinApp或CMainFrame来适应启动画面的集成。此外,如果遇到SplashScreen与MDI(Multiple Document Interface)或浮动工具栏的冲突,可能需要额外的调整。 8. **代码组织**: CSplashWnd类需要继承自CWnd,并实现必要的消息处理函数。确保在程序的生命周期中正确管理启动画面的创建、显示和销毁。 通过以上步骤,你可以创建一个具有专业感的启动画面,为用户提供更友好的软件体验。MFC提供了丰富的类库和工具,使得在C++中实现这样的功能变得相对容易。不断实践和学习,你将能够掌握更多的MFC编程技巧,进一步提升你的编程能力。
一、是可以减少等待程序加载过程中的枯燥感(尤其是一些大型程序);
二、是可以用来显示软件名称和版权等提示信息。
利用组件库中的Splash Screen组件实现
(1)用Photoshop等制作启动画面图像,保存为bmp格式。
(2)用Appwizard建一个基于单文档的工程Splash。
(3)在资源中插入位图资源
打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256
色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。将位图ID改为IDB_SPLASH。
(4)添加Splash Screen控件
①选择菜单“project”/“Add To Project”/“Conponents and Controls”打开对话框,在列表框中双击
“Visual C++ Conponents”选项,选择“Splash Screen”控件,然后单击“ins*ert”。
②确认或修改类名和位图资源ID,单击OK确认。
③编译、连接,漂亮的启动画面就显示出来了。
(5)如果需要改变启动画面的停留时间,就修改SetTimer()函数的第二个参数,默认是750 毫秒。该函数所在位置:
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
...
// Set a timer to destroy the splash screen.
SetTimer(1, 750, NULL); //修改第二个参数以调整画面停留时间
return 0;
}
==================================================
SplashScreen - 我们使用 Word 之类的软件在启动的短暂时间里就会看到它的身影。它通常用以在程序启动时显示
程序及用户名称,版权信息等。我也不知道它准确的名称是什么(是闪屏吗?),就这样称呼吧。也许你也想在自己
的工程里加入这样的特性,本文将以创建实际工程的方式逐步剖析其实现原理。
注意:为避免实际所使用工程名给类或对象名带来的干扰,除非特别说明,在本文中将使用基类名如CWinApp、
CMainFrame、CDialog来代替实际工程中的相应派生类名进行描述。
Visual C++是一个相当强大的C++开发工具,它内嵌了对SplashScreen的支持。但是在MFC EXE类型工程中只是对带
有主框架类的SDI或MDI工程提供了这一支持,基于对话框类的工程则被排除在外。现在让我们开始吧。第一步是在
SDI工程中加入SplashScreen。
首先利用AppWizard生成一个SDI工程,除了其中Docking ToolBar必须选择外(我认为这是MFC的一个Bug,当然这与
本文讨论的SplashScreen没有关系),其他的文档-视图支持、状态条之类的都可以不要,这样可以尽量减少无用的
代码。
通过IDE中的菜单Project->Add to Project->Components and Controls,我们就可以从Visual C++ Components
中选择Splash Screen这个组件插入工程。
在点击了"Insert"后会弹出一个如下图所示的对话框,这是设置插入该工程中的SplashScreen的类名、显示用位图的
ID及文件名,采用缺省值即可。
通过以上几步的操作,就会在工程目录下生成Splash.CPP和Splash.H文件,这便是CSplashWnd类的实现文件与头文件
剩余6页未读,继续阅读
- 粉丝: 47
- 资源: 156
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦