📄 9.8 启动画面.txt
字号:
9.8 启动画面
我们经常看到有些软件在启动时会有一幅启动画面,例如 Word。读者以后在编写共享软件时,可能
也需要让软件带有一个启动画面,上面提供一些版权信息,以及个人信息,例如个人网站和E-mail
信息等。
利用MFC编程时,让程序带上一个启动画面是非常简单的,利用 VC++组件库中提供的一个类就可以
完成。具体方法是在 Style工程中,单击【Project\Add to Project \ Components and controls...】
菜单命令,在弹出的组件和控件库对话框中双击 "Visual C++ Components"目录以打开这个目录,
在该目录下找到Splash screen组件井选中,如图9.47所示。
然后单击【Insert】按钮,系统会显示一个确认插入操作的对话框,单击该对话框上的【确定】按
钮确认进行当前的插入操作,这时,系统会显示一个如图 9.48所示的对话框。
利用这个对话框,可以修改插入的启动画面窗口类的名称,以及使用的位图资源ID。本例保持原样
不做修改,单击【OK】按钮,返回到图9.47所示的Components and Controls
.
Gallery对话框,
单击【Close】按钮,关闭这个对话框。
图 9.47选中 Splash screen组件
图 9.48插入的启动画面窗口类及使用的位图E提示'
这时,在Style工程中,可以看到在ResourceView选项卡上的 Bítmap文件夹下多了一个位图资源:
IDB_SPLASH,可以对这幅位图进行修改,或者替换为自己的位图。另外,在 ClassView选项卡上多
了一个 CSplashWnd类,如果希望使用自己的位图,其 ID与 IDB_SPLASH不同,则可以在 CSplashWnd
类中把使用 IDB SPLASH的地方替换为自己的位图ID,从而使用自己的位图作为程序的启动画面。
Build井运行Style程序,可以看到这个程序已经有了一个启动画面,如图9.49所示。
图 9.49程序启动画面
可是,这个画面显示的时间非常短,我们希望它能够多显示一会儿,以便用户能看清楚上面的信息。
在 CSplashWnd类的 OnCreate函数中,可以看到它设置了一个定时器,代码如例 9-33所示。
例 9-33
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{ if (CWnd::OnCreate(lpCreateStruct) return -1; -1)
// Center the window. CenterWindow();
// Set a timer to destroy the splash SetTimer(l , 750 , NULL); screen. ?川
return 0;
并在定时器消息响应函数中调用了一条隐藏启动画面的语句,代码如例如34所示。例 9-34
void CSplashWnd::OnTimer(UINT nIDEvent)
// Destroy the sp1ash screen window.
HideSplashScreen();
由此可见,在 CSplashWnd类的 OnCreate函数中设置的定时器间隔就是启动画面显示的时间。上述
代码中将定时器时间间隔设置为 750 ms,也就是说,这个启动画面显示的时间是 750ms。如果想让
启动画面显示的时间稍微长些,可以修改这个时间间隔,例如将该值修改为 3000 ms,即启动画面
窗口创建 3秒之后才发送 WM_TIMER消息,然后才能隐藏( HideSplashScreen函数的功能)启动画面。
读者可以自行测试一下修改定时器时间间隔之后, Style程序启动画面显示的时间。
当然,只有 CSplashWnd这个类是不能够完成显示启动画面这个功能的,在 Style程序中肯定在某个
地方调用了这个类的某个函数来显示启动画面,然后才能在程序运行时显示这个启动画面。实际上,
在插入 Splash screen组件后,在 Style程序的 CMainFrame类的 OnCreate函数中添加了下面这条
语句:
CSplashwnd::ShowSplashScreen(this);
根据这种调用形式,可以知道 ShowSplashScreen是一个静态函数。 Style程序正是通过这个函数来
完成启动画面的显示的。通过上面的介绍,可以看出,通过 VC++提供的组件,我们非常方便地为
Style程序创建了一个启动画面。因此,在实际编程过程中,读者应该很好地利用 VC++提供的组件
类,
辅助我们快速地开发程序。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -