选择文件夹,路径选择,
文件夹
资源管理器
推荐 SelectDirectory
http://docwiki.embarcadero.com/Libraries/Seattle/en/Vcl.FileCtrl.TSelectDirFileDlgOpts
Vcl.FileCtrl.hpp
if (!SelectDirectory("请选择目录","",DaoPath))
{
return;
}
SelectDirectory
#include "FileCtrl.hpp" const SELDIRHELP = ;
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[];
end; end;
procedure TForm.Button1Click(Sender: TObject);
const
SELDIRHELP = ;
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