很简单的问题,Delphi不能实现吗?????????

houlc 2005-05-11 08:27:01
我想实现一个像VS.netC# 2003里的folderBrowserDialog这个控件一样的功能,要能实现在目录上新建文件夹的功能,SelectDirectory和SHBrowseForFolder 这两个函数只能选择目录,不能新建目录,我自己用ShellTreeView做一个这样的功能,但是滚动条不能自动定位到新建的这个文件上,Delphi有没有函数能直接实现这样的功能?有没有人知道?
...全文
287 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
houlc 2005-05-15
  • 打赏
  • 举报
回复
//终于做出来了,谢谢上面的sspeak()
procedure TForm2.Button1Click(Sender: TObject);
var
ppidl,ppidl2: PITEMIDLIST;
bi: BROWSEINFO;
ret1: Array[0..MAX_PATH - 1] of Char;
t_dir: string;
begin
bi.hwndOwner := Handle;
ppidl:=nil;
bi.pidlRoot := ppidl;
bi.pszDisplayName := nil; //BIF_BROWSEINCLUDEFILES
bi.lpszTitle := '在下列列表中选择一个文件夹,然后点击"确定"。';
bi.ulFlags :=BIF_USENEWUI or BIF_RETURNONLYFSDIRS or BIF_STATUSTEXT;
bi.lpfn := nil;
ppidl2 := SHBrowseForFolder(bi);
if ppidl2 <> nil then
begin
SHGetPathFromIDList(ppidl2, ret1);
Form2.LEditSourcePath.Text := ret1;
end;
{
if selectDirectory('请选择操作目录' ,'' ,t_dir) then
begin
Form2.LEditSourcePath.Text := t_dir;
end; }
end;
houlc 2005-05-15
  • 打赏
  • 举报
回复
上面能不能说清楚一点,
sspeak 2005-05-15
  • 打赏
  • 举报
回复
xxx.ulFlags:=BIF_USENEWUI or ...;
houlc 2005-05-14
  • 打赏
  • 举报
回复
????
houlc 2005-05-14
  • 打赏
  • 举报
回复
SHBrowseForFolder怎样建目录?
sspeak 2005-05-14
  • 打赏
  • 举报
回复
SHBrowseForFolder里可以新建目录。
Frank.WU 2005-05-14
  • 打赏
  • 举报
回复
用Shell Control Pack吧
houlc 2005-05-13
  • 打赏
  • 举报
回复
你能在ShellListView上新建文件夹,并让滚动条滚动,焦点置到新建的文件夹上吗?
崔作非 2005-05-13
  • 打赏
  • 举报
回复
ShellListView就是直接对windows资源管理器来进行的封装,应该能满足你的要求。
houlc 2005-05-13
  • 打赏
  • 举报
回复
说可以的,请给个例子
i54 2005-05-13
  • 打赏
  • 举报
回复
UP
崔作非 2005-05-13
  • 打赏
  • 举报
回复
刚才忘说了,还有一个更好的办法,利用WebBrowser控件,它表面上看是个对IE浏览器的封装。
但IE可以利用本地的文件定位来指向资源管理器。
利用如下的代码self.WebBrowser1.Navigate('file:///c:/');就可以打开C盘了。我觉得它更适合你,因为它可以间接实现对资源管理器的调用,比ShellListView更完善,应该不会再有什么疑问了。
ly_liuyang 2005-05-13
  • 打赏
  • 举报
回复
没有直接的
用Shell Control Pack吧
很不错的

http://lysoft.7u7.net
崔作非 2005-05-13
  • 打赏
  • 举报
回复
ShellListView不支持在非选择状态下的右键菜单,所以不能直接用来新建文件夹什么的,但是我们可以用其它办法来现实,如自已画一个非选择状态下的右键菜单等,只是这点有点麻烦,但肯定能做到的。让滚动条滚动,焦点置到新建的文件夹上这两项要求ShellListView它本身就支持的。
vpoor 2005-05-13
  • 打赏
  • 举报
回复
当然可以
houlc 2005-05-12
  • 打赏
  • 举报
回复
raize控件集里也没有啊?我找了一遍只有RzSelectFolderDialog也是只能选择,不能新建
godear 2005-05-12
  • 打赏
  • 举报
回复
用raize控件集
houlc 2005-05-12
  • 打赏
  • 举报
回复
up
sunmingdong 2005-05-11
  • 打赏
  • 举报
回复
c#没有用过,但我知道raise控件中有一套shell比较好用,不知是否能满足要求
darkliu 2005-05-11
  • 打赏
  • 举报
回复
up

5,939

社区成员

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

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