フォルダ選択ダイアログを出す
Delphiにはダイアログコンポーネントが豊富にありますが、ディレクトリ選択用のダイアログがありません。しかし実は FileCtrlユニットにそれを実現する SelectDirectory関数があります。
| ■ フォルダ選択ダイアログを出す例 |
// uses節に FileCtrl を追加
var
strDir : string;
begin
if SelectDirectory(strDir, [sdAllowCreate],0) then
begin
//OKの場合の処理
end;
end;
|
第2パラメータ TSelectDirOpts
| 値 | 意味 |
| sdAllowCreate | 編集ボックスが表示され,ユーザーは存在しないディレクトリの名前を入力できる。このオプションはディレクトリを作成しないが,アプリケーションは必要に応じてDirectory パラメータにアクセスして,選択されたディレクトリを作成できる |
| sdPerformCreate | Options が sdAllowCreate を保持している場合にのみ使う。存在しないディレクトリ名をユーザーが入力すると,SelectDirectory がそのディレクトリを作成する |
| sdPrompt | Options が sdAllowCreate を保持している場合に使う。このオプションは,入力したディレクトリが存在しないことをユーザーに通知し,そのディレクトリを作成するかどうかをたずねるメッセージボックスを表示する。ユーザーが[OK]を選択した場合,Options が sdPerformCreate を保持していればディレクトリが作成される。Options が sdPerformCreate を保持していなければディレクトリは作成されないので,SelectDirectory が復帰するときにアプリケーションが作成しなければならない |