<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      靈活使用Delphi制作濺射屏幕

      [摘要]精心編寫的WINDOWS程序顯示啟動注意事項,稱之為濺射屏幕(splash screen)。利用一點兒小小的內容,即可給程序的顯示添加不少色彩。   由于工程本身創建程序的主窗口,且啟動濺射屏幕必須...
      精心編寫的WINDOWS程序顯示啟動注意事項,稱之為濺射屏幕(splash screen)。利用一點兒小小的內容,即可給程序的顯示添加不少色彩。

        由于工程本身創建程序的主窗口,且啟動濺射屏幕必須在創建主窗口之前出現,所以工程文件必須創建自己的啟動屏幕。這意味著用戶必須修改源代碼來創建工程文件,而這通常在DELPHI編程中是不需要的。下面的過程介紹了濺射屏幕的建立過程。

        1、開始一個新的工程。將窗體命名為MainForm,同時將其Caption屬性設置為SplashinDemo。把這個工程保存在一個目錄中,如C:ProjectsSplashin。把MainForm的單元命名為Main,把工程文件命名為Splashin。

        2、在MainForm中插入一個Button組件。將Button的Name屬性改為ExitButton,而將其Caption屬性改為Exit。為ExitButton的OnClick事件創建一個處理器,在過程的begin和end關鍵詞之間插入Close;語句。

        3、選取File New Form命令,或者單擊New Form速度按鈕。添加一個新的窗體。

        4、將這個窗體的Name屬性改變為SplashForm,刪除其Caption屬性。此外,將其BorderStyle屬性改變為bsnone,同時將BorderIcons下的三個子值設置為False。

        5、保存這個工程。當Delphi提示讀者提供單元文件名時,要確信當前目錄為正確的目錄。為SplashForm的單元文件名輸入Splash。

        6、將SplashForm的Enabled屬性設置為False。這里不想讓用戶能夠給窗口提供鍵盤和鼠標命令,這是極少見的情況之一。在這個例子中,我們想讓程序對SplashForm的顯示擁有完全的控制權。

        7、由于窗口沒有輪廓,所以從Additional組件類中插入一個Bevel組件對象。這有助于定義窗口的邊緣。將Bevel1的Align屬性設置為alClient。同時,將對象的Shape屬性改變為bsFrame,將其Style屬性改變為bsRaised。這些值由使用者來確定。

        8、在SplashForm中插入想使用的組件,在這里不要插入任何按鈕或者其他相互作用的控件。應用程序本身顯示和去除啟動濺射對話框。

        9、選擇Project菜單。高亮顯示Splash工程個彈出式菜單。選擇Options命令。在所產生的Project Options對話框中,選取Forms頁標簽。注意,MainForm和SplashForm位于自動創建的窗體列表中。高亮顯示每個窗體并單擊鼠標右按鈕來將其移動到Available窗體。所有的Delphi窗體在運行時都是在內存中自動創建的,這要消耗內存和系統資源。在這樣的一個案例中,程序是在運行時創建窗體的,讀者應該從自動創建的列表中刪除窗體。關閉ProjectOptions窗口。

        10、接下來,修改工程的源代碼,以便在顯示主窗口之前顯示濺射對話框。這里需要在工程文件中插入語句,以便與Splash.dpr工程文件相匹配。工程源代碼如下:

        program Project3;

        uses

         Forms,

         main in ‘main.pas‘ {MainForm},

         splash in ‘splash.pas‘ {SplashForm};

        {$R *.RES}

        begin

         SplashForm:=TSplashForm.Create(Application);

         SplashForm.Show;

         SplashForm.Update;

         Application.CreateForm(TMainForm,MainForm);

         SplashForm.Close;

         Application.Run;

        end.

        11、如果這時編譯和運行程序,它就非常快速地顯示和去除啟動濺射對話框,以至用戶可能沒機會見到它。為了強迫對話框保持幾秒鐘的可見時間,請選取程序的MainForm。為窗體的OnCreate命令創建一個處理器。在關鍵詞的前面添加一個名為stopTime的長整型變量。在begin和end之間插入兩個語句:一個為對Windows GetTickCount函數的調用。來將stopTime設置為Windows已在運行的秒數;另一個語句為while語句,這個語句另外延遲2秒鐘。程序清單如下:

        unit main;

        interface

        uses

         Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

         StdCtrls;

        type

         TMainForm = class(TForm)

          Exitbutton: TButton;

          procedure ExitbuttonClick(Sender: TObject);

          procedure FormCreate(Sender: TObject);

         private

          { Private declarations }

         public

          { Public declarations }

         end;

        var

         MainForm: TMainForm;

        implementation

        {$R *.DFM}

        procedure TMainForm.ExitbuttonClick(Sender: TObject);

        begin

         close;

        end;

        procedure TMainForm.FormCreate(Sender: TObject);

        var

         stopTime:LongInt;

        begin

         stopTime:=GetTickCount div 1000;

         while ((GetTickCount div 1000)<(stopTime+2)) do

         Sleep(1);

        end;

        end.

        12、按F9編譯、運行程序。 


      日韩精品一区二区三区高清