【发布时间】:2013-01-21 19:41:32
【问题描述】:
我在delphi 中使用SelectDirectory 函数来选择一个文件夹。我将根目录设置为用户正在寻找的项目应该在的默认目录。但是,如果我希望能够在我所在的“上方”导航,那么我就无法做到。
例如:
假设默认文件夹是C:\Program files\Default 文件夹,当我在那里时,我可以查看所有文件夹并选择我想要的文件夹。但是,如果我想返回程序文件来查找另一个文件夹,那么我不知道该怎么做。
我也曾考虑过使用 TOpenDialog,但我发现我无法选择文件夹并查看文件夹中存在的文件(该设置在 SelectDirectory 中很重要)。
有没有办法在根文件夹上方导航或可能打开级联到文件夹的窗口,因为它会显示好像有人已经从计算机导航到根文件夹?
代码:
SelectDirectory('Please select a directory', RootSearchLocation, ChosenDirectory,
[sdShowEdit, sdNewUI, sdShowFiles, sdValidateDir], self);
RootSearchLocation 是C:\Program files\Default 文件夹,ChosenDirectory 是用户选择的目录。
如果需要更多信息,请告诉我。
【问题讨论】:
-
"...但我发现我无法选择文件夹并查看文件夹中存在的文件..." 这不是真的。你可以看到里面的文件。
-
“有没有办法在根文件夹上方导航?” - 不,它就是这样工作的。 - 将“root”设置为空字符串,对话框本身应导航到“目录”(ChosenDirectory)。
-
另外,我同意@Sertac。设置root选项与告诉操作系统“请只允许用户在层次结构中选择此文件夹下的目录”相同。
-
@Sertac 我一直将选择的目录留空,因为我认为这是输出所在的位置,我将尝试使用它事先有一个目录并让你知道它是否有效,谢谢 =)
-
@SertacAkyuz 成功了,谢谢。不确定我是否可以接受评论,但这就是我想要的 =)