BCB TOpenDialog元件的典型用法

2021-06-18 21:52:38 字數 3582 閱讀 5640

開啟對話方塊是用topendialog元件實現的,topendialog元件是非可視元件。filter屬性用於設定檔案過濾器,讓對話方塊只列出特定型別的檔案。在設計時可以單擊filter屬性旁的省略號.按鈕,開啟filter...

「開啟」對話方塊是用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;

2018 07 08 2018提高組 模擬C組

fj準備教他的奶牛彈奏一首歌曲,歌曲由n 1 n 50,000 種音節組成,編號為1到n,而且一定按照從1到n的順序進行彈奏,第i種音節持續b i 1 b i 10,000 個節拍,節拍從0開始計數,因此從節拍0到節拍b 1 1彈奏的是第1種音節,從b 1到b 1 b 2 1彈奏的是第2種音節,依此...

Socket怎麼加入組播組

byte b new byte 10240 trycatch exception ex console.writeline receive multicast exception ex.tostring 這是我上國外 找的例子!是 用udpclient.joinmulticastgroup,但是ud...

Game組首次超過Hack組

game組成員超過hack組,不過game的大部分人都不認識,有的甚至沒有聯絡過。我的好友中還有部分hack沒有聯絡上,至少應該還有20名左右吧,實際上加起來應該還比game組的多。我的好友中大部分應該是搞過c 或winsdk程式設計的,至少是學過程式設計。懷念從2000年至今的程式設計學習生涯,這...