制作启动界面的方法
¾实现闪屏 一、安装Splash screen组件 点击菜单Project/Add to project/Component and Control,然后双击”visual c++ components” , 选中Splash screen组件,接受默认ID为 IDB_SPLASH.(笔者在此处有疑问,接受默认的ID时当程序运行时总没有闪屏出现,重新取个ID就可以了,试试看!) 二、插入位图 用一幅准备好的真彩位图替换刚才生成的即可。真彩位图在资源编辑器(它不能打开超过256色的图片)中是不可视的!或者,点击Resouce View ,在BitMap上点击鼠标右键,选中“Import…”菜单项,然后选你所要的真彩位图资源,把位图的ID设置为IDB_SPLASH.。 三、运行程序 编译、连接,漂亮的真彩启动位图就显示出来了。就这么简单! 四、几点说明 1.如果你要改变启动画面的停留时间,就修改SetTime 中的第二个参数,这里是750毫秒。int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CWnd::OnCreate(lpCreateStruct) == -1) return -1; // Center the window. CenterWindow(); // Set a timer to destroy the splash screen. SetTimer(1, 750, NULL);此停留时间为0。75秒,可通过修改第二个参数来改变闪屏时间! return 0; } 2.基于对话框的程序不能插入闪屏,可如下设置: 首先创建一对话框工程,将刚才已经生成的Splash.cpp和Splash.h文件拷贝到工作文件夹,并将其加入到你的基于对话框的项目中(Project->Add To Project->Files...)。 在CDialogApp派生类的InitInstance()中加入下列代码: #include "Splash.h" BOOL CDialogApp::InitInstance() { // CG: The following block was added by the Splash Screen component. { CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash); } ...... } 使用Class Wizard为在CDialog派生类添加OnCreate()函数,并加入下列代码: #include "Splash.h" int CDialoglDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CDialog::OnCreate(lpCreateStruct) == -1) return -1; // CG: The following line was added by theSplash Screen component. CSplashWnd::ShowSplashScreen(this); return 0; } 最后将Splash.cpp文件中的CSplashWnd::Create()函数中的位图资源ID改为真彩位图的ID就可以了。 BOOL CSplashWnd::Create(CWnd* pParentWnd /*= NULL*/) { if (!m_bitmap.LoadBitmap(IDB_BITMAP1)) return FALSE; ...... }