VS2013MFC单文档- 为窗口添加启动页面

在VC6.0下可以直接添加组件来添加程序启动画面,但是VS却不行,我们要自己添加类来制作启动画面。
1.新建或者导入一个ID为IDB_BITMAP1的位图;
2.现在项目下新建一个类CSplashWnd,基类为CWnd;
MFC <wbr>VS下添加启动画面

3.然后在该类下添加一个protected型的变量CBitmap m_bitmap

 public:

         CBitmapm_bitmap;

         //  void Create(void); 

         voidCreate(UINT nBitmapID);

         afx_msgvoid OnPaint();

         afx_msgvoid OnTimer(UINT_PTR nIDEvent);

4.添加一个Create函数加载位图,创建窗口;

_Splash.cpp

BEGIN_MESSAGE_MAP(CWzdSplash, CWnd)

 

         ON_WM_PAINT()

         ON_WM_TIMER()

 

END_MESSAGE_MAP()

 

 

// CSplash 消息处理程序 

void CSplash::Create(UINT nBitmapID)

{

         m_bitmap.LoadBitmap(nBitmapID);

         BITMAPbitmap;

         m_bitmap.GetBitmap(&bitmap);

      //CreateEx(0,AfxRegisterWndClass(0),"",WS_POPUP|WS_VISIBLE|WS_BORDER,0,0,bitmap.bmWidth,bitmap.bmHeight,NULL,0); 

         CreateEx(0,

                   AfxRegisterWndClass(0,AfxGetApp()->LoadStandardCursor(IDC_ARROW)),

                   NULL,WS_POPUP | WS_VISIBLE, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NULL, NULL);

        

}

void CSplash::OnPaint()

{

         //TODO: 在此处添加消息处理程序代码 

         //不为绘图消息调用 CWnd::OnPaint() 

         CPaintDCdc(this); // device context forpainting 

         BITMAPbitmap;

         m_bitmap.GetBitmap(&bitmap);

         CDCdcComp;

         dcComp.CreateCompatibleDC(&dc);

         dcComp.SelectObject(&m_bitmap);

         //draw bitmap 

         dc.BitBlt(0,0, bitmap.bmWidth, bitmap.bmHeight, &dcComp, 0, 0, SRCCOPY);

}

void CSplash::OnTimer(UINT_PTR nIDEvent)

{

         //TODO: 在此添加消息处理程序代码和/或调用默认值 

         //CWnd::OnTimer(nIDEvent); 

         DestroyWindow();//销毁初始画面窗口 

}
5. 在App类中的InitInstance()函数中添加以下代码:

C_Dlg::OnInitDialog()

//创建启动窗口类的实例

         CSplashwndSplash;

         wndSplash.Create(IDB_SPLASH);

         wndSplash.CenterWindow();

         wndSplash.UpdateWindow();//sendWM_PAINT      

 

         Sleep(1500);//让线程休眠不是好办法

         //SetTimer(1,1500, NULL);//不成功

         wndSplash.DestroyWindow();//销毁初始画面窗口

还有不要忘记在App类的cpp文件中添加SplashWnd的头文件
#include "Splash.h"
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值