我想设置一个TShellListView的路径来显示使用Delphi 2007的文件的目录。我可以最初使用TShellListView.Root来设置根路径这一点,它显示了我想要的目录:获取/设置TShellListView作为字符串的路径/文件夹(不使用.Root)
View := TShellListView.Create(Self);
// ...
View.Root := 'C:\Windows';
但是,如果用户使用退格键从该目录导航离开,我尝试设置.Root回原来的目录,显示该目录不会改变。它看起来像.Root是为了定义shell命名空间的根,而不是当前目录。另外,如果用户导航(使用退格等),则.Root属性不会更新以反映当前显示的路径。没有像TShellTreeView那样的.Path属性。
我想要的是一种获取并设置当前路径为字符串的方式,而不需要将TShellListView链接到TShellTreeView并设置TShellTreeView.Path或者破解ShellCtrls.pas,因为TShellListView的相关方法都是看上去私密的。我觉得很难相信没有一种简单的方法来获取/设置路径,所以我假设我在这里错过了一些简单的东西,但是这个组件根本没有记录。
查看我的问题 - 如果用户使用退格离开该目录并将.Root设置回原始目录,则显示的目录不会更改。它看起来像.Root是为了定义shell命名空间的根,而不是当前目录。我发现设置当前目录的唯一方法是使用连接的TShellTreeView.Path或破解TShellListView源代码 - 既不是理想的。 – Anagoge 2009-06-05 16:24:47
对不起,我只测试过将它设置为其他东西,然后它最初是什么。 – Vegar 2009-06-06 08:41:06