资源描述:
《vs2010添加启动画面》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、首先,在菜单的“项目”中选择“类向导”,生成一个启动画面的Splash类。然后,实现代码主要是在CwzdSplash类的头文件和cpp文件中实现。在CwzdSplash类的头文件中我们添加下面的代码:1.#pragma once 2.// CWzdSplash 3.class CWzdSplash : public CWnd 4.{ 1. DECLARE_DYNAMIC(CWzdSplash) 2.public: 3. CWzdSplash(); 4. virtual ~CWzdSplash(); 5.p
2、rotected: 6. DECLARE_MESSAGE_MAP() 7.public: 8. CBitmap m_bitmap; 9.// void Create(void); 10. void Create(UINT nBitmapID); 11. afx_msg void OnPaint(); 12. afx_msg void OnTimer(UINT_PTR nIDEvent); 13.}; 在CwzdSplash类的cpp文件中我们添加下面的代码:1.// WzdSplash.c
3、pp : 实现文件 2.// 3.#include "stdafx.h" 4.#include "TinyPlusCompiler.h" 5.#include "WzdSplash.h" 6.// CWzdSplash 7.IMPLEMENT_DYNAMIC(CWzdSplash, CWnd) 8. CWzdSplash::CWzdSplash() 9.{ 10.} 11.CWzdSplash::~CWzdSplash() 12.{ 13.} 14.BEGIN_MESSAGE_MAP(CWzdSplash,
4、 CWnd) 15. ON_WM_PAINT() 16. ON_WM_TIMER() 17.END_MESSAGE_MAP() 18.// CWzdSplash 消息处理程序 19.void CWzdSplash::Create(UINT nBitmapID) 1.{ 2. m_bitmap.LoadBitmap(nBitmapID); 3. BITMAP bitmap; 4. m_bitmap.GetBitmap(&bitmap); 5. //CreateEx(0,AfxRegis
5、terWndClass(0),"",WS_POPUP
6、WS_VISIBLE
7、WS_BORDER,0,0,bitmap.bmWidth,bitmap.bmHeight,NULL,0); 6. CreateEx(0, 7. AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)), 8. NULL, WS_POPUP
8、 WS_VISIBLE, 0, 0, bitmap.bmWidth, bitmap.bmHei
9、ght, NULL , NULL); 9.} 10.void CWzdSplash::OnPaint() 11.{ 12. // TODO: 在此处添加消息处理程序代码 13. // 不为绘图消息调用 CWnd::OnPaint() 14. CPaintDC dc(this); // device context forpainting 15. BITMAP bitmap; 16. m_bitmap.GetBitmap(&bitmap); 17. CDC dcComp; 18.
10、 dcComp.CreateCompatibleDC(&dc); 19. dcComp.SelectObject(&m_bitmap); 20. // draw bitmap 21. dc.BitBlt(0,0,bitmap.bmWidth,bitmap.bmHeight,&dcComp,0,0,SRCCOPY); 22.} 23.void CWzdSplash::OnTimer(UINT_PTR nIDEvent) 24.{ 25. // TODO: 在此添加消息处理程序代码和/或调用默认值 26
11、. //CWnd::OnTimer(nIDEvent); 27. DestroyWindow(); //销毁初始画面窗口 28.} 最后在项目的主窗口视图的Create函数中