我想实现一个像VS.netC# 2003里的folderBrowserDialog这个控件一样的功能,要能实现在目录上新建文件夹的功能,SelectDirectory和SHBrowseForFolder 这两个函数只能选择目录,不能新建目录,我自己用ShellTreeView做一个这样的功能,但是滚动条不能自动定位到新建的这个文件上,Delphi有没有函数能直接实现这样的功能?有没有人知道?
解决方案 »
- Imagelist组件的问题?
- 关于idhttp post的几个问题
- 请教,如何/能否删除自已发的帖
- 为什么Openpicturedialog 和 tstringlist 不能兼用~~? 详细内容看里面
- 谁有风采35选7的组合算法?
- 如何判断表中某字段没有赋值过
- 求多线程存取记录的算法
- 有几个wav文件,1.wav能读出1这个音,2.wav能读出2这个音,请问如何在程序中能读出12这个音(注意,不是 拾二,是 一二)
- 数据字段怎样在listbox中显示
- 急!!!如何使interface不能自动回收
- 安装程序棘手问题!请各位高手处理!
- 谁有《〈delphi5开发指南>>,我需要(非电子版本),南京,13357831456(短信联系)
用Shell Control Pack吧
很不错的http://lysoft.7u7.net
但IE可以利用本地的文件定位来指向资源管理器。
利用如下的代码self.WebBrowser1.Navigate('file:///c:/');就可以打开C盘了。我觉得它更适合你,因为它可以间接实现对资源管理器的调用,比ShellListView更完善,应该不会再有什么疑问了。
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;