如何制作启动界面

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

¾ 实现闪屏

一、安装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;

......

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航