通過顯示一個對話框來讓用戶選擇一個目錄。
注意:在使用前要在Uses 語句中添加包含FileCtrl 的說明。
函數原型如下:
function SelectDirectory(const Caption: string; const Root: WideString;
out Directory: string): Boolean; overload;
function SelectDirectory(var Directory: string; Options: TSelectDirOpts;
HelpCtx: Longint): Boolean; overload;
對於第1 個重載函數,參數Caption 為對話框的標題內容;參數Root 指定一個目錄,為進行浏覽的最初目錄;選中的目錄保存在參數Directory 中。
對於第2 個重載函數,參數Directory 中指定的目錄為對話框顯示時選中的目錄,最後用戶選定的目錄也保存在參數Directory 中;參數Options 為一些設置項目的集合,如果為空,則用戶通過對話框只能選擇已經存在的目錄,沒有提供編輯框給用戶來輸入一個新的目錄名。TSelectDirOpts 類型定義如下:
type
TSelectDirOpt = (sdAllowCreate, sdPerformCreate, sdPrompt);
TSelectDirOpts = set of TSelectDirOpt;
具體數值的含義如下。
• sdAllowCreate 對話框中有一個Edit 組件,用戶可以輸入新的目錄名。但是如果要新建該目錄,程序員必須根據獲取的文件自己編寫代碼新建目錄。
• sdPerformCreate 對話框中有一個Edit 組件,用戶可以輸入一個不存在的目錄名,對話框將選中該目錄並創建該目錄。
• sdPrompt 對話框中有一個Edit 組件,如果用戶輸入的目錄名不存在,則顯示一個信息對話框提示是否創建新目錄。如果同時選中的是sdAllowCreate 設置,則程序員必須根據獲取的文件自己編寫代碼新建目錄。
用法:
procedure TForm1.Button1Click(Sender: TObject);
var
ss:String;
begin
SelectDirectory('testdialog','sss',ss,[sdNewFolder, sdShowEdit, sdShowShares, sdNewUI]);
end;