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();//销毁初始画面窗口
完成
时间: 2024-07-29 19:58:19