选择文件夹,路径选择,
文件夹
资源管理器
推荐 SelectDirectory
http://docwiki.embarcadero.com/Libraries/Seattle/en/Vcl.FileCtrl.TSelectDirFileDlgOpts
Vcl.FileCtrl.hpp
if (!SelectDirectory("请选择目录","",DaoPath)) { return; }
SelectDirectory
#include "FileCtrl.hpp" const SELDIRHELP = 1000; void __fastcall TForm1::Button1Click(TObject *Sender) { String Dir = "C:\\Program Files\\CodeGear"; if (SelectDirectory(Dir, TSelectDirOpts() << sdAllowCreate << sdPerformCreate << sdPrompt,SELDIRHELP)) Label1->Caption = Dir; }
SHBrowseForFolder
http://bbs.csdn.net/topics/390017304
Vcl.Shell.ShellCtrls
TShellComboBox
TShellTreeView
TShellListView
文件名:
ShellListView1.Folders[ShellListView1.ItemIndex].PathName
ShellTreeView.SelectedFolder.PathName;
//2018.1.18
http://docwiki.embarcadero.com/Libraries/Tokyo/en/Vcl.FileCtrl.TSelectDirFileDlgOpts
能粘贴路径,选择路径,快速输入
procedure TForm.Button4Click(Sender: TObject); var astrPath: tarray<string>; // 用户选定后的目录 begin //TSelectDirFileDlgOpt.sdHidePinnedPlaces if (SelectDirectory('请选择文件保存的路径', astrPath, [sdNoDereferenceLinks])) then begin self.Caption := astrPath[0]; end; end;
procedure TForm.Button1Click(Sender: TObject); const SELDIRHELP = 1000; var Dir: string; begin Dir := 'C:\Windows'; if Vcl.FileCtrl.SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt], SELDIRHELP) then self.Caption := Dir; end;
参考写的很细,学习
https://www.cnblogs.com/huangygdelphi/articles/1969357.html