フォルダ選択ダイアログを出す
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 が復帰するときにアプリケーションが作成しなければならない |