程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 讓基於對話框應用程序也有啟動畫面

讓基於對話框應用程序也有啟動畫面

編輯:VB綜合教程

  用MFC的應用向導創建一個有主框架結構的應用程序,要使它具有啟動畫面是很簡單的(下面會體驗到),而要使一個基於對話框的應用程序也有啟動畫面則要費些事了,不過按以下筆者的方法則也是很容易的,我主要介紹方法,對畫面僅采用默認情況,讀者有興趣可自己加工。

一、給一文檔/視圖應用程序做啟動畫面

  (一) 建立一單文檔/視圖應用程序Hs

  從File菜單選擇New對話,在Projects選項卡中選擇AppWizard(exe)圖標。鍵入Hs作為項目名並單擊OK。在第一步中選中Single Document單選按鈕,其它接受所有默認選項。

  (二) 添加啟動畫面

  當AppWizard完成,而且Visual C++打開項目的時候,從Project菜單中選擇Add To Project,並單擊位於次級菜單上的Comonents and Controls…,選擇Splash screen組件,如圖1(略)所示,單擊Insert。接受所有的默認設置。

  以上幾步就建立起了一個有主框架結構的應用程序,並使它具有了啟動畫面。這是我們要做的准備工作已經完成。

二、給基於對話框應用程序做啟動畫面

  (一)建立基於對話框的應用程序Spla

  從File菜單選擇New對話,在Projects選項卡中選擇AppWizard(exe)圖標。鍵入Spla 作為項目名並單擊OK。在第一步中選中Dialog Based單選按鈕,其它接受所有默認選項。

  (二)做啟動畫面

  這裡做啟動畫面如果仍采用前述用Gallery來插入是不行的,因為基於對話框的應用程序沒有主框架。不過我們可以把上面建立起的啟動畫面文件移植過來,然後,對程序進行少許編程修改就? 請按照下面的步驟來做:

  1、將Splash.cpp和Splash.h兩個文件從Hs工程中拷貝到你的工程中。添加如下代碼到CSplaApp的InitInstance()函數中。

  

#include "Splash.h"//頭文件請放在開始位置
BOOL CSplaApp::InitInstance()
{
CCommandLineInfo cmdInfo;
ParseCommandLine(cmdInfo);
CSplashWnd::EnableSplashScreen
(cmdInfo.m_bShowSplash);
...
}
   2、接下來,使用ClassWizard來添加OnCreate函數到你的對話框類中,並且添加如下代碼: #include "Splash.h"//頭文件請放在開始位置
int CSplaDlg::OnCreate
(LPCREATESTRUCT lpCreateStruct)
{
…
CSplashWnd::ShowSplashScreen(this);
…
}
   3、將Splash16.bmp文件從Hs工程中拷貝到你的工程中。打開Workspace的Resouce項,將Splash16.bmp插入。打開Properties將IDB_BITMAP1改為IDB_SPLASH,這個ID值只要和程序中一致起來就行,現在這樣改最簡便。

  現在可以編譯運行程序了,程序運行時出現如圖2(略)的啟動畫面。這是默認的畫面,你可以打開圖形編輯器自己加工。如果你要改變啟動畫面的停留時間,就修改SetTime中的第二個參數,這裡是750毫秒。

  

int CSplashWnd::OnCreate
(LPCREATESTRUCT lpCreateStruct)
{
…
// Set a timer to destroy the splash screen.
SetTimer(1, 750, NULL);
return 0;
}

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