Я хочу установить путь для TShellListView для отображения каталога файлов с помощью Delphi 2007. Сначала я могу использовать TShellListView.Root для установки корневого пути, как показано ниже, и он показывает каталог, который мне нужен:
View := TShellListView.Create(Self);
// ...
View.Root := 'C:\Windows';
Но если пользователь уходит из этого каталога с помощью backspace, и я пытаюсь установить .Root обратно в исходный каталог, отображаемый каталог не изменяется. Похоже, что .Root предназначен для определения корня пространства имен оболочки, а не текущего каталога.
Кроме того, если пользователь перемещается (используя backspace и т. Д.), Свойство .Root не обновляется, чтобы отображать отображаемый в данный момент путь. Свойство .Path отсутствует, как для TShellTreeView.
Мне нужен способ получить и установить текущий путь в виде строки без необходимости связывать TShellListView с TShellTreeView и устанавливать TShellTreeView.Path или взламывать ShellCtrls.pas, поскольку соответствующие методы TShellListView все выглядят закрытыми. Мне трудно поверить, что не существует простого способа получить / установить путь, поэтому я предполагаю, что упускаю что-то простое здесь, но этот компонент вообще не задокументирован.