基于单文档/视图结构的应用程序中添加启动画面
来源:互联网 发布:大一知乎 编辑:程序博客网 时间:2024/05/18 23:55
启动画面是程序在启动前显示的界面,用于显示软件的设计、版权等信息,或者告诉用户正在加载应用程序,请耐心等待。这里重要是加载一幅位图来作为程序的启动画面。
方法一:利用组件库中的Splash Screen组件
这个方法非常的简单,所以关于利用组件库中的Splash Screen组件的方法这里就不在介绍。
方法二:自己制作启动画面
步骤:
1. 创建一个基于MFC的单文档应用程序,工程名为Splash。
2. 创建一个启动窗口类,类名为CSplashScreen,如图所示:
3. 在资源中插入位图资源
打开VC++的资源编辑器,用鼠标右键单击Resources文件夹,选择Import命令,插入所制作的位图。如果位图超过256色,VC会弹出一个对话框,提示位图已经插入但不能在位图编辑器中显示,确定即可。位图ID为IDB_BITMAP1。
4. 在 CSplashScreen类中添加成员变量m_bitmap,如图:
5. 在CSplashScreen类中添加Create()成员函数,在该函数中装入启动窗口中显示的位图,以及在屏幕中央创建该窗口。
void CSplashScreen::Create(UINT nBitmapID){m_bitmap.LoadBitmap(nBitmapID);BITMAP bitmap;m_bitmap.GetBitmap(&bitmap);int x=(::GetSystemMetrics(SM_CXSCREEN)-bitmap.bmWidth)/2;int y=(::GetSystemMetrics(SM_CYSCREEN)-bitmap.bmHeight)/2;CRect rect(x,y,x+bitmap.bmWidth,y+bitmap.bmHeight);CreateEx(0,AfxRegisterWndClass(0),"",WS_POPUP|WS_VISIBLE|WS_BORDER,rect,NULL,0);}6. 在CSplashScreen类中添加一个WM_PAINT消息处理函数到该窗口类中,在这里用BitBlt()把位图绘制到屏幕上。
void CSplashScreen::OnPaint() {CPaintDC dc(this); // device context for painting// TODO: Add your message handler code here BITMAP bitmap; m_bitmap.GetBitmap(&bitmap);CDC dcComp;dcComp.CreateCompatibleDC(&dc);dcComp.SelectObject(&m_bitmap);// draw bitmapdc.BitBlt(0,0,bitmap.bmWidth,bitmap.bmHeight,&dcComp,0,0,SRCCOPY);// Do not call CFrameWnd::OnPaint() for painting messages}7. 把启动窗口插入到主框架类的OnCreate()函数中,这时需要在前面包含头文件#include "SplashScreen.h"。
为了使启动窗口停留足够长的时间以确保读取显示的信息;应对应用程序进行延时处理。加上Sleep()函数。
int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct){ CSplashScreen wndSplash; //创建启动窗口类的实例 wndSplash.Create(IDB_BITMAP1); wndSplash.UpdateWindow(); //send WM_PAINT Sleep(2000); return 0;}
结果画面:
注意:也可以把启动窗口类插入到应用程序类的InitInstance()函数中。
参考:http://blog.sina.com.cn/s/blog_4a87020b010005dy.html
- 基于单文档/视图结构的应用程序中添加启动画面
- 基于对话框的应用程序添加启动画面
- 基于对话框的应用程序添加启动画面
- vc基于对话框的应用程序添加启动画面
- 为你的应用程序添加启动画面
- 在你的应用程序添加启动画面
- 设置单文档工程下添加程序启动画面。。
- 单文档视图应用程序
- 单文档应用程序SDI的视图切换
- 单文档应用程序SDI的视图切换
- 单文档/视图结构的ActiveX控件
- 让基于对话框的应用程序有启动画面
- 为基于对话框的应用程序设置启动画面
- 基于单文档应用程序背景的修改
- 单文档应用程序切换视图
- 给VC基于单文档应用程序添加动画图标
- 为Android应用程序添加Splash启动画面
- 分割单文档视图结构
- BSS段,数据段,代码段,堆,栈
- android View实现变暗效果
- Exchange数据维护
- oracle commit 做了什么?
- Easyui中的combobox加载来自Action的JSON的2种方法
- 基于单文档/视图结构的应用程序中添加启动画面
- 领域模型设计之基本要素
- pthread_create()函数
- PHPSTORM/IntelliJ IDEA 常用 设置配置优化
- Linux 日常使用和开发软件【记录专用贴】
- CRP(Confrence Room Pilot)
- 某马来西亚零售公司项目启动会上的发言大纲
- AD操作主机说明
- spring struts 配置文件详解