Je souhaite définir le chemin d'accès à TShellListView pour afficher un répertoire de fichiers à l'aide de Delphi 2007. Je peux initialement utiliser TShellListView.Root pour définir le chemin racine comme cela et il montre le répertoire que je veux:Get/Set TShellListView Chemin d'accès/Dossier en tant que chaîne (sans utiliser .Root)
View := TShellListView.Create(Self);
// ...
View.Root := 'C:\Windows';
Mais si l'utilisateur quitte ce répertoire en utilisant backspace et j'essaie de régler le .root retour au répertoire d'origine, le répertoire affiché ne change pas. Il ressemble à .Root est destiné à définir la racine de l'espace de noms shell, pas le répertoire en cours.
De même, si l'utilisateur navigue (en utilisant un retour arrière, etc.), la propriété .Root ne se met pas à jour pour refléter le chemin actuellement affiché. Il n'y a pas de propriété .Path comme pour TShellTreeView. Ce que je veux est un moyen d'obtenir et de définir le chemin actuel sous forme de chaîne sans avoir besoin de lier TShellListView à TShellTreeView et de définir TShellTreeView.Path ou hack ShellCtrls.pas puisque les méthodes pertinentes de TShellListView semblent toutes privées. J'ai du mal à croire qu'il n'y a pas de moyen simple d'obtenir/définir le chemin, donc je suppose qu'il me manque quelque chose de simple ici, mais ce composant n'est pas documenté du tout.
Votre solution de contournement suggérée pour ajouter/supprimer la barre oblique semble fonctionner correctement. J'ai ajouté un code de contournement similaire à une nouvelle propriété Path ajoutée à un descendant TShellListView que j'utiliserai à la place de celle par défaut. – Anagoge