VC/MFC如何添加启动界面

摘要:
2015年5月,它从向源一清的原始VC/MFC如何添加启动界面转移过来。1.为基于框架的应用程序添加启动屏幕的步骤是使用Photoshop等创建启动屏幕图像,并将其保存为bmp格式。③ 编译并连接,将显示美丽的启动屏幕。该函数位于:intCSpushWnd::OnCreate{…//Setatimertodestroythesplashscreen.SetTimer;//修改第二个参数以调整屏幕停留时间return0;}将生成Splash1.cpp和Splash1.h文件。2.创建一个基于对话框的应用程序启动屏幕,以创建基于对话框的项目封面。

2015-05 转自 香远益清原文VC/MFC如何添加启动界面

1、基于框架类的应用程序添加启动画面的步骤(利用组件库中的Splash Screen组件生成Splash1.cpp 和Splash1.h 这两个文件)
(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”控件,然后单击“Insert”。 
②确认或修改类名和位图资源ID,单击OK确认。 
③编译、连接,漂亮的启动画面就显示出来了。 
(5)如果需要改变启动画面的停留时间,就修改SetTimer()函数的第二个参数,默认是750 毫秒。该函数所在位置: 
int CSplashWnd::OnCreate(LPCREATESTRUCT lpCreateStruct) 

... 
// Set a timer to destroy the splash screen. 
SetTimer(1, 2000, NULL); //修改第二个参数以调整画面停留时间 
return 0; 

这样就生成了Splash1.cpp 和Splash1.h 这两个文件 

2、制作基于对话框的应用程序启动画面 
(1)建立基于对话框的工程Cover。 

(2)文件移植 
①将Splash1.cpp 和Splash1.h 两个文件从步骤一建立的工程拷贝到Cover工程中,并且分别加入到Source Files和Header Files中; 
②导入位图文件到工程的资源中,改ID为IDB_SPLASH。 

(3)修改代码,实现启动画面的调用 
①添加CCoverAppInitInstance() 函数代码 
#include "Splash1.h" //加在Cover.cpp文件的头文件调用部位 
BOOL CCoverApp::InitInstance() 

CCommandLineInfo cmdInfo; 
ParseCommandLine(cmdInfo); 
CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash); 
... 

②使用ClassWizard 添加OnCreate()函数到对话框类CCoverDlg中,并修改代码#include "Splash1.h" //加在CoverDlg.cpp文件的头文件调用部位 
int CCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 

... 
CSplashWnd::ShowSplashScreen(this); //显示启动画面 
... 


3、使得启动画面消失后再显示主程序 
①在CCoverDlg类中添加WM­_TIMER消息响应函数 

void CCoverDlg::OnTimer(UINT nIDEvent) 

      // TODO: Add your message handler code here and/or call default 
      this->MoveWindow(300,300,600,400); 
      CDialog::OnTimer(nIDEvent); 

② 在intCCoverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)中添加如下代码: 
   CSplashWnd::ShowSplashScreen(this); 
this->MoveWindow(0,0,0,0); 
this->SetTimer(1,2000,NULL);//注意这个2000一点要等于步骤1中的2000 
return 0; 
③在void CCoverDlg::OnPaint()的末尾添加如下代码: 
this->KillTimer(1);

免责声明:文章转载自《VC/MFC如何添加启动界面》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Echarts Jqplot嵌extjs4 windows 装配方法CentOS查看系统信息-CentOS查看命令下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

VC++ MFC子对话框建立与关闭

主窗体 void CMoshiwindowDlg::OnButton1() { // TODO: Add your control notification handler code here CDialogproty dlg; dlg.DoModal(); m_text.SetWindowText(dlg....

wxpython 基本的控件 (按钮)

使用按钮工作 在wxPython 中有很多不同类型的按钮。这一节,我们将讨论文本按钮、位图按钮、开关按钮(toggle buttons )和通用(generic )按钮。   如何生成一个按钮? 在第一部分(part 1)中,我们已经说明了几个按钮的例子,所以这里我们只简短的涉及它的一些基本的东西。图7.4显示了一个简单的按钮。   图7.4 使用按钮...

MFC画刷类CBrush使用实例 .

画刷类CBrush利用画笔可以画图形的边框,而用画刷就可以在图形内着色。大多数的GDI绘图函数既使用画笔又使用画刷,它们用画笔绘制各种图形的周边,而用画刷填充图形,因而可以用一种颜色和风格去设置画笔,而用另一种颜色和风格去设定画刷,通过一次函数调用就可以绘制出形状复杂的图形。画刷是由CBrush类管理的,创建画刷有两种方法:一种是调用构造函数,另一种是调用...

MFC学习对话框及窗口背景色 .

设置对话框背景颜色及背景图片可在OnCtlColor(),OnEraseBkgnd(),OnPaint()里设置,对话框初始化完毕,显示窗口时按顺序调用OnSize()>OnEraseBkgnd()>OnPaint()>OnCtlColor()。 OnEraseBkgnd()中默认调用基类(CFrameWnd)的OnEraseBkgnd(...

MFC查内存泄漏方法

此方法仅使用于固定内存地址的泄漏问题(如果地址不固定,需要多次尝试,会比较难找,或者是主动分析才能找得到) 工作中MFC工程调试遇到关闭工程时,输出视图出现内存泄漏,如下图所示: 在theApp.InitInstance()中加上如下接口:_CrtSetBreakAlloc(34719); // 测试内存泄漏,参数是上图中泄漏的地址 如下图所示  再次...

使用StretchBlt之前一定要用SetStretchBltMode(COLORONCOLOR)

近日要实现将缩小的位图保存在后台,以便在OnPaint刷新的时候仍然可以看到正确的图像,遂在lg_Bitmap类中添加了这样一个函数     BOOL lg_Bitmap::LoadFromHDC(HDC hDC)    {        if(NULL == hDC)            return FALSE;        BITMAP Bit...