我想设置 TShellListView 的路径以使用 Delphi 2007 显示文件目录。我最初可以使用 TShellListView.Root 来设置这样的根路径,它显示了我想要的目录:
View := TShellListView.Create(Self);
// ...
View.Root := 'C:\Windows';
但是,如果用户使用退格键离开该目录并且我尝试将 .Root 设置回原始目录,则显示的目录不会改变。看起来 .Root 是为了定义 shell 命名空间的根,而不是当前目录。
此外,如果用户四处导航(使用退格等),.Root 属性不会更新以反映当前显示的路径。没有像 TShellTreeView 那样的 .Path 属性。
我想要的是一种获取当前路径并将其设置为字符串的方法,而无需将 TShellListView 链接到 TShellTreeView 并设置 TShellTreeView.Path 或破解 ShellCtrls.pas,因为 TShellListView 的相关方法看起来都是私有的。我很难相信没有一种简单的方法来获取/设置路径,所以我假设我在这里遗漏了一些简单的东西,但是这个组件根本没有记录。