我现在使用的如下代码实现浏览选择文件夹:
use Shlobj;var
MyDirName: string;
buffer: string;
idList: PItemIDList;
info: TBrowseInfo;
begin
SetLength(buffer, MAX_PATH);
with info do
begin
hwndOwner := Form1.Handle;
pidlRoot := nil;
pszDisplayName := PChar(buffer);
lpszTitle := PChar('请选择路径');
ulFlags := BIF_RETURNONLYFSDIRS;
lpfn := nil;
lParam := 0;
iImage := 0;
end;
idList := SHBrowseForFolder(info);
if idList <> nil then
begin
SHGetPathFromIDList(idList, PChar(buffer));
SetLength(buffer, StrLen(PChar(buffer)));
MyDirName:=buffer;
end;
end;效果很好,但希望能在当前对话框上加一个'创建新文件夹'的按钮以实现'新建'功能,请问能实现吗。当然直接用filectrl里的selectdirectory是可以的,但界面太丑,也不好用。
use Shlobj;var
MyDirName: string;
buffer: string;
idList: PItemIDList;
info: TBrowseInfo;
begin
SetLength(buffer, MAX_PATH);
with info do
begin
hwndOwner := Form1.Handle;
pidlRoot := nil;
pszDisplayName := PChar(buffer);
lpszTitle := PChar('请选择路径');
ulFlags := BIF_RETURNONLYFSDIRS;
lpfn := nil;
lParam := 0;
iImage := 0;
end;
idList := SHBrowseForFolder(info);
if idList <> nil then
begin
SHGetPathFromIDList(idList, PChar(buffer));
SetLength(buffer, StrLen(PChar(buffer)));
MyDirName:=buffer;
end;
end;效果很好,但希望能在当前对话框上加一个'创建新文件夹'的按钮以实现'新建'功能,请问能实现吗。当然直接用filectrl里的selectdirectory是可以的,但界面太丑,也不好用。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货