MFC,splash启动画面(改)

 1 #ifndef _SPLASH_SCRN_

 2 #define _SPLASH_SCRN_

 3 

 4 

 5 //这是一个启动画面类,这里注释便不多写了,网上有

 6 #pragma once  

 7 // CWzdSplash  

 8 class CWzdSplash : public CWnd 9 { 10  DECLARE_DYNAMIC(CWzdSplash) 11 public: 12  CWzdSplash(); 13 virtual ~CWzdSplash(); 14 protected: 15  DECLARE_MESSAGE_MAP() 16 public: 17  CImage image; 18 void Create(); 19 afx_msg void OnPaint(); 20 21 }; 22 23 24 #endif
// WzdSplash.cpp : 实现文件

//



#include "stdafx.h" #include "Weather.h" #include "WzdSplash.h" // CWzdSplash IMPLEMENT_DYNAMIC(CWzdSplash, CWnd) CWzdSplash::CWzdSplash() { } CWzdSplash::~CWzdSplash() { } BEGIN_MESSAGE_MAP(CWzdSplash, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() // CWzdSplash 消息处理程序 void CWzdSplash::Create() { image.Load(_T("res/000.gif")); CBitmap m_bitmap; HBITMAP hbitmap = image.Detach(); BITMAP bitmap; m_bitmap.Attach(hbitmap); m_bitmap.GetBitmap(&bitmap); CreateEx(0,AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)), NULL, WS_POPUP | WS_VISIBLE, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NULL, NULL); CWnd::CenterWindow(); CWnd::UpdateWindow(); } void CWzdSplash::OnPaint() { // TODO: 在此处添加消息处理程序代码 // 不为绘图消息调用 CWnd::OnPaint() CPaintDC dc(this); // device context forpainting image.Load(_T("res/000.gif")); image.Draw(dc.m_hDC, 1, 1);// draw bitmap  } // CWzdSplash 消息处理程序

 

 

说明:

 image.Load(_T("res/000.gif"));这里换成你的图片的路径。

然后在你的OnCreat()函数中添加

CWzdSplash wndSplash; //创建启动窗口类的实例
wndSplash.Create();
Sleep(1000);
wndSplash.DestroyWindow();//销毁初始画面窗口

 

完成

你可能感兴趣的:(mfc)