VS2010对话框程序启动画面

1.项目-->类向导-->添加类-->MFC类,其他操作如图所示。

2.在CwzdSplash.h的public:下声明CBitmap m_bitmap;

3.在CwzdSplash.cpp下。

  从神处复制如下代码:http://blog.csdn.net/leixiaohua1020/article/details/12753857

  1. void CWzdSplash::Create(UINT nBitmapID)  
  2. {  
  3.     m_bitmap.LoadBitmap(nBitmapID);  
  4.     BITMAP bitmap;  
  5.     m_bitmap.GetBitmap(&bitmap);  
  6.     //CreateEx(0,AfxRegisterWndClass(0),"",WS_POPUP|WS_VISIBLE|WS_BORDER,0,0,bitmap.bmWidth,bitmap.bmHeight,NULL,0);  
  7.     CreateEx(0,  
  8.             AfxRegisterWndClass(0, AfxGetApp()->LoadStandardCursor(IDC_ARROW)),  
  9.             NULL, WS_POPUP | WS_VISIBLE, 0, 0, bitmap.bmWidth, bitmap.bmHeight, NULL , NULL);  
  10. }  
  11. void CWzdSplash::OnPaint()  
  12. {  
  13.     // TODO: 在此处添加消息处理程序代码  
  14.     // 不为绘图消息调用 CWnd::OnPaint()  
  15.     CPaintDC dc(this); // device context forpainting  
  16.     BITMAP bitmap;  
  17.     m_bitmap.GetBitmap(&bitmap);  
  18.     CDC dcComp;  
  19.     dcComp.CreateCompatibleDC(&dc);  
  20.     dcComp.SelectObject(&m_bitmap);  
  21.     // draw bitmap  
  22.     dc.BitBlt(0,0,bitmap.bmWidth,bitmap.bmHeight,&dcComp,0,0,SRCCOPY);  
  23. }  
  在Dlg.cpp文件下#include<CwzdSplash.h>,然后在OnInitDialog()中写如下代码。
  1. void CWzdSplash::OnTimer(UINT_PTR nIDEvent)  
  2. {  
  3.     // TODO: 在此添加消息处理程序代码和/或调用默认值  
  4.     //CWnd::OnTimer(nIDEvent);  
  5.     DestroyWindow(); //销毁初始画面窗口  
  6. }

    1.  CWzdSplash wndSplash;                 //创建启动窗口类的实例  
    2. wndSplash.Create(IDB_SPLASH);   //IDB_SPLASH为位图文件ID
    3. wndSplash.CenterWindow();  
    4. wndSplash.UpdateWindow();          //send WM_PAINT  
    5. Sleep(1500);  
    6. wndSplash.DestroyWindow();//销毁初始画面窗口  

猜你喜欢

转载自blog.csdn.net/weufengwangshi_/article/details/54347160