程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> 在VC++.net中制作啟動屏幕的新方法

在VC++.net中制作啟動屏幕的新方法

編輯:vc教程

在利用VC++.net編程過程中,遇到制作啟動屏幕的問題,幾經試驗,得出一種方便簡單的制作方法。

基本原理是利用對話框窗口的特性,在啟動時首先創建對話框,設置一個獲得位圖文件的句柄,利用Picture控件的SetBitmap(HBITMAP hBitmap)方法,使位圖文件充滿整個Picture控件窗口,最後設置定時器,整個啟動屏幕就制作完成。

下面介紹具體實現步驟。

1. 打開VS.net的開發環境,新建VC++.net中的MFC應用程序,輸入工程名稱MySample,點擊“確定”,“完成”;

2. 打開資源視圖,添加對話框,更改ID為ID_DIALOG_SPLASH,設置對話框Center屬性為True,Border屬性為“無”;

3. 在對話框中添加Picture控件,設置Picture控件的ID號為ID_PIC,Type屬性為“位圖”,Center image屬性為True,然後調整標尺使對話框沒有外框,調整對話框的大小以適應啟動屏幕的要求,調整Picture的寬高使其充滿整個對話框窗口;

4. 雙擊對話框窗口,彈出類向導對話框,在類名中鍵入CSplash,選擇基類為Cdialog,點擊確定,定義控件Picture的控件變量為m_pic;

5. 在Csplash類中重載OnInitDialog()函數,添加消息WM_CHAR,WM_TIMER,WM_LBUTTONUP,WM_MBUTTONUP,WM_RBUTTONUP;

6. 在OnInitDialog()函數中添加代碼如下:

BOOL CSplash::OnInitDialog(){  CDialog::OnInitDialog(); //設置啟動窗口背景,在整個窗口中充滿位圖 CRect lRect; m_pic.GetClientRect(&lRect);//得到Picture控件的窗口大小 lRect.NormalizeRect();  //設置位圖句柄 HBITMAP hbitmap=(HBITMAP)LoadImage(NULL,"splash.bmp",//更改你喜歡的位圖文件   IMAGE_BITMAP,lRect.Width(),lRect.Height(),   LR_LOADFROMFILE|LR_CREATEDIBSECTION); m_pic.SetBitmap(hbitmap); //設置定時器 SetTimer(1,500,NULL);  return TRUE;  }7. 在OnTimer(UINT nIDEvent) 函數中添加代碼如下:
void CSplash::OnTimer(UINT nIDEvent){ static int i; i++; if(i > 3) {  //銷毀定時器  KillTimer(1);  this->OnOK(); } CDialog::OnTimer(nIDEvent);}8. 在OnLButtonUp,OnLButtonUp,OnLButtonUp,OnChar函數中加入以下代碼:
{ KillTimer(1); this->OnOK();}9. 在MySample.Cpp中引入頭文件
#include "Splash.h"在InitInstance()函數中加入代碼:
BOOL CMySampleApp::InitInstance(){ … AfxEnableControlContainer(); CSplash splash; splash.DoModal();…}至此,啟動屏幕就Ok了!

作者:陳治軍

聯系地址:成都市新都區西南石油學院碩2001.3班

郵政編碼:610500

Email:[email protected]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved