標籤:dial not init 快捷 標題 type 程式 說明 按鈕
1.TOpenDialog組件的典型用法
“開啟”對話方塊是用TOpenDialog組件實現的,TOpenDialog組件是非可視組件。
Filter屬性用於設定檔案過濾器,讓對話方塊只列出特定類型的檔案。在設計時可以單擊Filter屬性旁的省略符號“.”按鈕,開啟“Filter.Editor”對話方塊,在“Filter.Name”欄鍵入關於過濾器的簡短說明,在“Filter”欄鍵入萬用字元,在設計期,把“開啟”對話方塊組件加到表單上,看到的是TOpenDialog組件的表徵圖,只有調用對話方塊的Execute方法,才能在運行期看到真正的對話方塊。
2.TOpenDialog組件的重要屬性
DefaultExt-------------此屬性用於指定一個預設的副檔名
FileName---------------此屬性用於指定一個檔案名稱
Files------------------通過此屬性可以訪問多個檔案
Filter-----------------此屬性用於設定檔案過濾器
FilterIndex------------此屬性用於指定哪個過濾器是預設過濾器
InitialDir-------------設定此屬性可以指定另外一個目錄
Options----------------此屬性用於設定“開啟”對話方塊的選項
Title------------------此屬性用於設定對話方塊的標題
(1)DefaultExt屬性
此屬性用於指定一個預設的副檔名。如果使用者在對話方塊中選擇的檔案沒有帶副檔名,就用這個屬性作為檔案的副檔名,如果不需要預設副檔名,應當把這個屬性設為空白。
(2)FileName屬性
FileName屬性可以指定一個檔案名稱。在開啟對話方塊時,這個檔案名稱出現在對話方塊的“檔案名稱”框中。在對話方塊中,可以指定其他檔案名稱,如果單擊“OK”按鈕,對話方塊將關閉,並且FileName屬性變成使用者新指定的檔案名稱,包括檔案的路徑和副檔名。FileName屬性也可以指定一個不存在的檔案名稱,表示將開啟一個新檔案。
(3)Files屬性
如果Options屬性包含ofAllowMultiSelect元素,表示允許一次選擇多個檔案,這些檔案可以通過Files屬性訪問。Files屬性是一個TStrings對象。
(4)Filter屬性
此屬性用於設定檔案過濾器,讓對話方塊只列出特定類型的檔案。在設計時,可以單擊 Filter屬性旁的“...”按鈕,開啟“Filter Editor”對話方塊,在“Filter Name”欄鍵入關於過濾器的簡短說明,在“Filter”欄鍵入萬用字元,例如萬用字元“*.txt”表示讓對話方塊只顯示副檔名為.txt的檔案。當然,使用者可以在“開啟”對話方塊的“檔案名稱”框內直接輸入一個副檔名不為 .txt檔案名稱的檔案。同時,Filter屬性可以設定多個過濾器,這些過濾器將顯示在“開啟”對話方塊的“檔案類型”組合框內。
(5)FilterIndex屬性
如果有多個過濾器,這個屬性用於指定哪個過濾器是預設過濾器。預設過濾器將顯示在“開啟”對話方塊的“檔案類型”組合框的編輯框中。注意,過濾器的序號從1開始。
(6)InitialDir屬性
此屬性用於設定開啟對話方塊第1次開啟時的預設開啟目錄。例如要將開啟對話方塊的預設開啟目錄設定為C盤根目錄,就可以將InitialDir屬性設定為“C:\”。
(7)Options屬性
此屬性用於設定“開啟”對話方塊的選項。它設定了如下16個使用者可選值。
. ofAllowMultiSelect:使用者可以一次選擇多個檔案。
. ofCreatePrompt:如果使用者輸入的檔案名稱是不存在的,當使用者單擊“OK”按鈕時,將顯示一個提示框,詢問要不要建立這個檔案。
. ofExtensionDifferent:如果使用者所選檔案的副檔名與DefaultExt屬性設定的預設副檔名不同,就包含這個元素。
. ofFileMustExist:使用者輸入的檔案名稱必須是已存在的。
. ofHideReadOnly:對話方塊中不顯示“以唯讀方式開啟”複選框。
. ofNoChangeDir:即使使用者在對話方塊中選擇了其他目錄,但對程式來說,目前的目錄總是對話方塊第一次開啟時的目錄。
. ofNoDereferenceLinks:如果使用者選擇的是捷徑檔案(.lnk),FileName屬性是捷徑檔案本身,而不是快捷檔案指向的檔案。
. ofNoLongNames:不允許長檔名。
. ofNoReadOnlyReturn:不允許使用者選擇唯讀檔案,否則將顯示一個警告框。
. ofNoTestFileCreate:儲存檔案時不進行防寫保護、磁碟滿、磁碟機門開啟等檢查。
. ofNoValidate:不對檔案名稱中的字元進行合法性檢查。
. ofOverwritePrompt:用於“另存新檔”對話方塊中,如果使用者指定的檔案名稱已存在,將顯示一個警告框用來讓使用者選擇是否要覆蓋已有的檔案。
. ofPathMustExist:使用者輸入的路徑必須是已經存在的,否則將顯示警告。
. ofReadOnly:選中“以唯讀方式開啟”複選框。
. ofShareAware:對話方塊不理會所有的共用錯誤。
. ofShowHelp:對話方塊中將顯示“協助”按鈕。
(8)Title屬性
此屬性用於設定對話方塊顯示時的視窗標題。例如大多資料庫程式都有還原資料庫功能,其開啟對話方塊的標題就可以設定為“開啟還原檔案”。
3.TOpenDialog組件的重要事件
OnCanClose----------當使用者試圖關閉對話方塊時將觸發這個事件
OnFolderChange------當使用者在對話方塊中改變、擴充或摺疊了一個目錄(也叫檔案夾),將觸發該事件
OnSelectionChange---當使用者開啟對話方塊、選擇某個目錄或檔案、選擇另一個過濾器、建立一個新的目錄時將觸
發這個事件
OnShow--------------當對話方塊調用Execute方法、並且對話方塊還未顯示時觸發此事件
OnTypeChange--------當使用者在對話方塊中選擇了另一個過濾器時,將發生這個事件
(1)OnCanClose事件
當使用者試圖關閉對話方塊時將觸發這個事件。這樣就有機會對使用者輸入的檔案名稱進行檢查。如果檔案名稱不符合要求,就把CanClose參數設為False,表示不允許關閉對話方塊。
(2)OnFolderChange事件
當使用者在對話方塊中改變、擴充或摺疊了一個目錄(檔案夾),將觸發該事件。在程式中可以利用此事件擷取使用者瀏覽過的目錄。
(3)OnSelectionChange事件
當使用者開啟對話方塊、選擇某個目錄或檔案、選擇另一個過濾器或建立一個新的目錄時將觸發這個事件。
OnSelectionChange事件與OnFolderChange事件相比觸發的機率比較高。
(4)OnTypeChange事件
當使用者在對話方塊中選擇了另一個過濾器時,將觸發這個事件。在此事件中結合FilterIndex屬性的使用,可以擷取目前的交談。
4.TOpenDialog組件的重要方法
TOpenDialog組件最重要的方法就是Execute方法。此方法能夠顯示對話方塊,以供使用者佈建檔案路徑及檔案名稱。其使用方法如下:
OpenDialog1.Execute;
Delphi的開啟檔案對話方塊-TOpenDialog