TFolderSelect
は、Windows エクスプローラー風の フォルダ選択コンポーネント です。
TreeView を使用し、選択・新規作成・名前変更・削除などの基本操作をサポートしつつ、
Delphi 標準の TreeView では制御が難しい UXの最適化 を実現しています。
SelectFolder
: 選択中のフォルダパスを取得・設定SelectFolderCreateNew
: サブフォルダ作成 + 自動リネームモードSelectFolderBeginEdit
: フォルダ名の編集開始SelectFolderDelete
: ごみ箱にフォルダを削除(SHFileOperation対応)OnFolderSelect
: ユーザーによる明示的な左クリック時のみ発火するイベント
FolderSelect.pas
をプロジェクトに追加してください。- フォームに配置する場合は以下のようにコードで生成:
procedure TFormMain.FormCreate(Sender: TObject);
begin
FFolderSelect := TFolderSelect.Create(Self);
FFolderSelect.Parent := Self;
FFolderSelect.Align := alClient;
FFolderSelect.OnFolderSelect := OnFolderSelect;
end;
procedure TFormMain.OnFolderSelect(Sender: TObject);
begin
Caption := FFolderSelect.SelectFolder;
end;
uses System.IOUtils;
procedure TFormMain.FormShow(Sender: TObject);
begin
FFolderSelect.ShowFolder(TPath.GetDocumentsPath);
end;
プロパティ / メソッド名 | 説明 |
---|---|
SelectFolder: string |
現在選択中のフォルダのパスを取得・設定 |
SelectFolderCreateNew() |
サブフォルダを作成し、自動でリネームモードに入る |
SelectFolderBeginEdit() |
選択中のフォルダの名前編集を開始 |
SelectFolderDelete() |
選択中のフォルダをごみ箱に送る |
ShowFolder(Path: string) |
指定フォルダをツリー上で展開・選択状態にする |
OnFolderSelect |
明示的なユーザー操作で選択されたときに発火 |
- Windowsエクスプローラーに近い自然な操作感
- ユーザーの左クリック選択のみをイベントトリガーにできる設計
- ごみ箱送信は
SHFileOperationW
に対応 TCustomControl
派生で柔軟な拡張が可能- コンテキストメニューとの連携にも対応しやすい構造
- Delphi 10 以降推奨(TPath使用)
- 古いバージョン(Delphi 7~XE)でも代替APIで対応可能
MIT ライセンス または パブリックドメイン
VRAMの魔術師
- バグ報告・機能提案・拡張アイデアなど歓迎します
- GitHub Issues または Discussions にてお気軽にどうぞ