黃易群俠傳M脫機外掛應用程式黃易神行
3046
1

Delphi快速入門教程(六)

玄天小志 發表於 2009-4-3 15:04:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |
1.4.3.1 調用標準對話方塊 

  您可以發現,除了Font,Find,Replace對話方塊之外,其餘標準對話方塊的Events頁都是空白的。因為它們本身是不可視的對話方塊形式,所以不能回應標準的滑鼠鍵盤操作,只能在程式中調用它們。在本章第一節的Demo程式中,我們已經對用Color對話方塊有了瞭解,在程式的適當位置加入對話方塊所屬的Execute方法,可以執行標準對話方塊。

  在編制應用程式時,您可以先設計好主功能表。在需要使用標準對話方塊的功能表項的事件處理過程中,調用標準對話方塊的Execute等方法,以滿足設計需求,即回應功能表命令彈出標準對話方塊。 

  
  1.4.3.2 OpenDialog和SaveDialog部件 

  OpenDialog(檔的打開)和SaveDialog(保存對話方塊)部件處理檔的打開與存儲,它們擁有完全相同的屬性域。DefaultExt屬性表示缺省副檔名。當用戶沒有輸入檔的尾碼時,可以為用戶檔自動加副檔名。FileName屬性指定出現在FileName正文框中的缺省檔案名。Filter屬性提供了檔篩檢程式。FileEditStyle決定在輸入檔案名時用Edit還是Combo- Box;設置為fsComboBox時,允許使用歷史列表HistoryList屬性,這在應用程式需要經常選擇檔時,可以節約大量的時間。HistoryList屬性保存有在File Name下拉式編輯框中顯示的檔案名,使用[TStrings]的省略按鈕可以編輯歷史列表。您也可以編程實現將HistoryList屬性設為以前用OpenDialog打開的檔案名歷史列表。下列程式段可以實現自動歷史檔案名載入: 

  if OpenDialog1.Execute then

  OpenDialog1.HistoryList.Insert(0,OpenDialog1.FileName); 

  
  1.4.3.3 ColorDialog和FontDialog 

  顏色對話方塊ColorDialog我們在前文的常式中已經用過,其更詳細的功能如Options的設定請查閱線上幫助。

  字體對話方塊Font可以幫助用戶獲取各種方式的字體。使用OnApply事件,可以使得Font對話方塊中包含一個Apply按鈕,按動它,對話方塊中設定的字體會立即應用到指定的物件中,而對話方塊仍然是打開的,這樣更便於觀察修改的結果。

  以下的常式在表單中先放置一個按鈕Button1,調用字體對話方塊來改變按鈕上的Caption屬性顯示的字體: 

  Procedure TForm1.Button1Click(Sender:TObject);

  begin

  FontDialog1.Execute;

  end; 

  Procedure TForm1.FontDlgApply(Sender:Tobject);

  begin

  Button1.Font:= FontDialog1.Font;

  end; 
  1.4.3.4 PrintDialog和PrintSetupDiaog 

  列印對話方塊PrintDialog和列印設置對話方塊PrintSetupDialog可以顯示標準列印、列印設置對話方塊,支援列印檔和列印設置功能,設置它的Options屬性可以規定對話方塊的表現形式 

  
  1.4.3.5 FindDialog和ReplaceDialog 

  FindDialog和ReplaceDialog提供了查找、替換兩個對話方塊部件,對於尋找和替換文本是極其有用的。在FindDialog和ReplaceDialog中都有OnFind事件,當用戶單擊尋找對話方塊中的Find Next按鈕時將觸發這一事件。FindText屬性中保存了用戶在Find What編輯框中輸入的文本。在ReplaceDialog中還有OnReplace事件,當用戶單擊替換對話方塊中的Replace和Replace All按鈕時,將觸發OnReplace事件。FindText和ReplaceText屬性分別保存了用戶在Find What和Replace With編輯框中輸入的文本。 

  
  1.5 使用Delphi的工程管理、設計工具 

  Delphi 2.0是完備的工程設計系統,除提供了大量的視覺化編程部件和簡單方便的設計方法外,還備有功能強大的工程管理、視窗設計工具。 

  
  1.5.1
創建多表單工程項目 


  絕大多數的應用程式都用到不只一個視窗,Delphi允許用戶創建多文檔介面(MDI)應用程式。應用自動創建表單、表單樣板、對話方塊專家、應用專家等,可以使得創建應用程式更為方便快捷,而且可重複利用,大大地降低了工作量。 
  1.5.1.1 創建一個含有About框的常式 

  作為例子,我們先創建一個含主表單和簡單的About框的應用程式:

  在Delphi中創建一個新工程,並為空視窗增加一個Button部件。我們把它作為主表單,目的是當按動按鈕部件時,調出About窗口。下面我們直接進行About視窗的創制。

  選用主功能表的File New項,在New頁中,選用Form樣板,Delphi會自動創建一個空表單Form2。您可以在其上進行About框的設計,例如加入標籤以顯示各種資訊、加入圖片幫助說明等。將Form2的BorderStyle屬性設置為●禁私人部落格●,則視窗成為運行時不能改變大小的對話方塊。

  下面編程實現主表單對About框的顯示控制。很可能在設計時,兩個表單出現重疊,Form1被About遮住。用Shift+F12產生View Form對話方塊,可以選擇視窗的名字,調出所需的表單Form1,雙擊其上的按鈕部件,在事件處理過程加入以下的程式: 

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  Form2.Show;

  end; 

  由於Form1表單調用About表單,所以必須在Form1的庫單元程式中對引用About進行說明。在Unit1的Uses後面加入About的庫單元名Unit2。運行程式,在主表單上按動按鈕,可以出現About框。在框外單擊滑鼠,會回到主表單中。

  在About表單中加入一個按鈕,並將按鈕的ModalResult屬性設置為mrOK,同時將按鈕的標籤的Caption改為OK。這樣一個有模式的About框已經建成了。將表單Form1中Button1的OnClick處理過程的代碼改變如下: 

  Form2.ShowModal;  

  再運行程式,除了與上述功能相同顯示About對話方塊外,該程式只有當用戶按動About框的按鈕或被About窗控制圖示關閉視窗後,才會回到主表單中,而不能與第一個表單發生交互行為。這就是方法Show和ShowModal的主要不同之處。 

  
  1.5.1.2 指定自動創建表單 

  上面我們簡單地生成了一個含About框的雙表單應用程式,運行時,應用程式啟動時將自動創建第二個表單。表單保持隱蔽狀態,但仍然佔用Windows的資源。在大型應用程式中,有時不希望在應用程式載入時自動創建所有表單。Delphi可以指定哪些表單被自動創建。

  選用Project Options,Delphi顯示Project options對話方塊。如果Forms不是當前頁,按動下標籤使之可見。如圖1.12所示:

  圖示為Delphi裝載的TextEdit常式(...\Delphi 2.0\Demos\doc\TextEdit.dpr)。在MainForm正文框中輸入主表單的名字。當應用程式啟動時,主表單自動打開並獲取輸入焦點。對MDI應用,主表單的FormStyle屬性必須設置為fsMDIForm。在Auto-created Forms列表框中列出了在啟動時自動創建的表單,缺省時工程檔的所有表單都在此列中。

  如果不需要自動創建表單,使用箭頭按鈕把表單移動到Available Forms列表框中。自動創建的表單可以用Show方法進行顯示,而不自動創建時,必須編程實現表單的顯示。在TextEdit工程中,定義一個TEditForm類型的變數EditForm,使用了以下的代碼顯示第二個表單:

  Begin

  EditForm := TeditForm.Create(Self);

  EditForm.Open(OpenFileDialog.Filename);

  EditForm.Visible := True;

  End;

  也即,必須使用Create方法創建表單,同時將表單的Visible屬性設為真。
收藏收藏 分享分享 讚 幹 分享分享 FB分享
回覆

使用道具 舉報


w57853356 當前離線
UID
1562005
熱心
115 值
嘉獎
0 次
違規
0 次
在線時間
2 小時
經驗
105 點
積分
105
精華
0
最後登錄
2010-10-13
閱讀權限
20
註冊時間
2010-10-9
論壇幣
228 幣
聯合幣
0 枚
幸運鑽
0 顆
招待卷
0 點
查看詳細資料
Rank: 2Rank: 2
w57853356 2010-10-13 11:47:34
今天,我看見了她,手機竊.聽卡,看見了那個讓我魂牽夢繞的她!寫下這篇日記,手機偷聽器,以作紀唸,手機監控
也許 我們今生就是一次美麗的相遇也許我們永遠不能走到一起但是你永遠都是我的唯一 永遠不會忘記我們以前的點點滴滴那些都是我今生最最美好的回憶
時間永遠是那麼的無情讓所有的美好都變成了回憶
我知道我們之間的距離我是那麼的平凡而你是那麼的美麗所以所有的一切我從來沒有怪過你
如果我們還能繼續我一定會更加努力不會再讓機會在我手中離去
如果我們不能回到從前就希望能夠來生再續
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊


手機版 | Archiver | 外掛聯合國

GMT+8, 2024-6-9 23:47 , Processed in 0.060871 second(s), 18 queries , Memcache On.

版權說明:
  本站不會製作、經銷、代理外掛程式。僅免費提供外掛程式下載前之掃毒及掃木馬等安全檢測驗證,協助會員遠離盜號危險程式。本站所有資料均來自網際網路收集整理,說明文字暨下載連結轉載自原程 式開發站。站上出現之公司名稱、遊戲名稱、程式等,商標及著作權,均歸各公司及程式原創所有,本站程式所有權歸外掛聯合國所有。本程式所有權歸外掛聯合國所有.......

回頂部
第二步?
第三步?