怎么打开文件夹对话框?(中国队加油)

xiaoxingchi 2002-06-08 10:07:42
怎么打开文件夹对话框?

就像有些软件中,选择要打开的目录那样,调出浏览文件夹对话框?

比如"东方影都"的列表中有一个打开目录的对话框的那种!
...全文
87 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chunfly 2002-06-08
  • 打赏
  • 举报
回复
uses FileCtrl;

const
SELDIRHELP = 1000;
procedure TForm1.Button1Click(Sender: TObject);
var
Dir: string;
begin
Dir := 'C:\MYDIR';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then
Label1.Caption := Dir;
end;
fontain 2002-06-08
  • 打赏
  • 举报
回复
这没办法,只能用api了,要不还得自己做界面,呵呵
fontain 2002-06-08
  • 打赏
  • 举报
回复

var
Info: TBrowseInfo;
Dir: array[0..260] of char;
ItemId: PItemIDList;
begin
with Info do begin
hwndOwner := self.Handle;
pidlRoot := nil;
pszDisplayName := nil;
lpszTitle := '请选择XXX的文件夹';
ulFlags := 0;
lpfn := nil;
lParam := 0;
iImage := 0;
end;
ItemId := SHBrowseForFolder(info);
if ItemId <> nil then
begin
SHGetPathFromIDList(ItemId, @Dir);
showmessage(dir);
end
end;
记着先use shlobj,activex;
xiaoxingchi 2002-06-08
  • 打赏
  • 举报
回复
to fontain
不是这种类型的,是另外一种,像下面的这种。

我的电脑
C+-windows
|-my music
|-game
|-我的文档
D+
E+
F+
网上邻居
桌面

就像上这个样子的!
Shawphen2000 2002-06-08
  • 打赏
  • 举报
回复
opendialog.execute
fontain 2002-06-08
  • 打赏
  • 举报
回复
var
Dir: string;
begin
Dir := 'C:\MYDIR';
if SelectDirectory(Dir, [sdAllowCreate, sdPerformCreate, sdPrompt],0) then
showmessage( Dir);
end;
xiaoxingchi 2002-06-08
  • 打赏
  • 举报
回复
我不是想要文件名啊,是要一个浏览的目录啊!
fontain 2002-06-08
  • 打赏
  • 举报
回复
with Topendialog.Create (nil) do try
Filter:='文本文件|*.exe|所有文件|*.*';
if Execute then
showmessage(filename);
finally
free;
end;
不要总想用api,那还要vcl封装那么多东西干什么
xiaomoge 2002-06-08
  • 打赏
  • 举报
回复
调用API 即可以实现, SHBrowseForFolder
如果嫌麻烦的话,装个RX控件吧,里面有一个UNIT 里就封装了这个API,直接调用一个函数就可以了.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧