程序開始時先顯示信息框
發表時間:2024-06-18 來源:明輝站整理相關軟件相關文章人氣:
[摘要]一、軟件進入主窗口前,先顯示一個信息框,告訴用戶一些有關該軟件的信息,比如軟件名稱,版本號等。該信息框在顯示1~2秒后自動消失。 1.建立New Application,這時系統自動生成一個Form1,這作為主Form. 2.File->New Form 建立一個新Form為...
一、軟件進入主窗口前,先顯示一個信息框,告訴用戶一些有關該軟件的信息,比如軟件名稱,版本號等。該信息框在顯示1~2秒后自動消失。
1.建立New Application,這時系統自動生成一個Form1,這作為主Form.
2.File->New Form 建立一個新Form為Form2,這個作為信息框。
3.在Form2上添加組件TTimer(System控件條上),用于設定信息框的顯示時間。
4.TTimer的事件OnTimer中加入:Form2->Close();
5.在WinMain()函數中加入:
Application->CreateForm(__classid(TForm2), &Form2);
Form2->ShowModal( ); //這句要自己加入
Application->Run();
并且要把Form2的頭文件Unit2.h包括到WinMain()所在的Project1.cpp中。
6.運行程序,將先顯示Form2,顯示時間由TTimer的Interval屬性決定,1000是一秒。
二、軟 件 封 面 的 實 現
現 代 軟 件 設 計 的 流 行 做 法 是, 在 程 序 運 行 完 成 初 始 化 之 前, 先 調 用 一 幅 畫 面 做 為 封 面, 通 常 是1/4 屏 幕 大 小, 顯 示 一 下 軟 件 的 名 稱、 作 者、 版 本 等 信 息。 要 用C++ Builder 實 現 這 樣 的 功 能, 方 法 很 簡 單:
① 自 定 義 一 窗 體 類 TSplashForm, 將 其 設 置 成" 透 明 窗 口", 即 BorderIcons 下 的 所 有 選 項 均 置 成false, BorderStyle=bsNone,FormStyle=fsStayOnTop, Position=poScreenCenter;
② 在TSplashForm 窗 體 上 放 置 一TPanel( 相 當 于 圖 形 的 鏡 框);
③ 在TPanel 上 放 置 一TImage 控 件, 調 入 所 需 要 的 圖 形;
④ 對WinMain 函 數 稍 加 修 改, 加 入 如 下 所 示 代 碼 即 可。 需 要 指 出 的 是, 這 段 代 碼 通 過 函 數 FindWindow, 搜 索 內 存 中 是 否 有 窗 口 標 題 為 "Demo" 應 用 程 序 存 在, 若 存 在, 則 退 出 程 序 的 運 行。 該 功 能 可 防 止 程 序 的 再 次 運 行。 在 某 些 場 合 這 樣 設 計 是 必 須 的。
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
if(FindWindow(NULL,"Demo")!=0)
{
Application- >MessageBox (" 程 序 已 經 運 行!"," 警
告",MB_ICONSTOP);
return 0;
}
TSplashForm *splash=new TSplashForm(Application);
splash- >Show();
splash- >Update();
Application- >Initialize();
Application- >CreateForm(__classid(TForm1), &Form1);
splash- >Close();
delete splash;
Application- >Run();
}
catch (Exception &exception)
{
Application- >ShowException(&exception);
}
return 0;
}