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;