美化自己的对话框--运用Splash控件显示初始化界面
当你打开VS2008或者VC6.0时会出现一个欢迎界面,显示一些该软件的信息和一些动态的初始化信息,然后才是软件的主界面。本帖就是讨论怎样做到这一点。该帖用到的例程下载如下。声明是在VS2008环境下调试成功的。
SplashScreen.rar
(98.24 KB)
在该例程中Splash控件的类为SplashScreenEx.h和SplashScreenEx.cpp。
具体步骤如下:
1.建立一个对话框的MFC工程。
2.添加你要作为欢迎界面的BMP格式的图片到你的工程。
3.在我的例程里拷贝SplashScreenEx.h和SplashScreenEx.cpp到你的工程目录下并添加到你的工程中。
4.在你的对话框类(.h)和实现文件(.cpp)里添加包含语句:
#include "SplashScreenEx.h"
5.在对话框初始化函数InitDialog()里添加代码如下:
程序代码:
CSplashScreenEx *pSplash=new CSplashScreenEx(); pSplash->Create(this,_T("Splash控件示例程序"),0,CSS_FADE | CSS_CENTERSCREEN | CSS_SHADOW); pSplash->SetBitmap(IDB_SPLASHBMP,255,0,255);//IDB_SPLASHBMP是添加的BMP的ID号,后面的三个数设置透明色 pSplash->SetTextFont(_T("黑体"),100,CSS_TEXT_NORMAL);//动态字母的字体、大小 pSplash->SetTextRect(CRect(27,198,291,218));//用于现实动态字幕的矩形区 pSplash->SetTextFormat(DT_SINGLELINE | DT_LEFT | DT_VCENTER);//设置动态字幕的属性:单行\靠左边 pSplash->Show();//开始显示 Sleep(1000);//定时1000ms pSplash->SetTextColor(RGB(255,0,0));//换字幕颜色 pSplash->SetText(_T("1秒后......"));//换字幕 Sleep(1000); pSplash->SetTextColor(RGB(0,255,0)); pSplash->SetText(_T("2秒后......")); Sleep(1000); pSplash->SetTextColor(RGB(0,0,255)); pSplash->SetText(_T("3秒后......")); Sleep(1000); pSplash->SetTextColor(RGB(100,100,100)); pSplash->SetText(_T("进入主界面......")); Sleep(1500); pSplash->Hide();//消失,并显示主界面
运行界面
1.开始运行:
2.1秒钟后:
3.3秒钟后:
4.最后显示主界面:
[ 本帖最后由 hlmzrdongdong 于 2009-11-30 21:50 编辑 ]