Delphi的開啟檔案對話方塊-TOpenDialog

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.