Comment récupérer un nom de fichier affiché dans un ShellListView
denji
Messages postés5Date d'inscriptionmardi 30 juillet 2002StatutMembreDernière intervention14 février 2003
-
13 févr. 2003 à 19:34
alexis2015
Messages postés73Date d'inscriptionmardi 8 avril 2003StatutMembreDernière intervention24 juillet 2005
-
31 août 2004 à 16:25
Bonjour à tous
voila, je n' arrive pas à récupérer les nom des fichiers affichés dans un ShellListView.
l'instruction : ShellListView.Item[i].caption ne marche pas....?!
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 13 févr. 2003 à 22:51
Voilà au moins de quoi afficher le nom du répertoire et son emplacement sur le disque :
procedure TForm1.ShellListView1Click(Sender: TObject);
begin
with ShellListView1 do
if Assigned(ItemFocused) then
begin
Label1.Caption := SelectedFolder.DisplayName;
Label2.Caption := SelectedFolder.PathName;
end;
end;
denji
Messages postés5Date d'inscriptionmardi 30 juillet 2002StatutMembreDernière intervention14 février 2003 14 févr. 2003 à 16:31
Merci DelphiProg !
Aussi étrange que cela puisse paraître, SelectedFolder.DisplayName donne le nom..... du fichier sélectioné ! enfin bon, ca fonctionne.
Par contre le "if Assigned(ItemFocused) " provoque une erreur si on clique ailleur que sur un item.
Pour résoudre cela je pense qu'il vaut mieux utiliser :
cs_Delphiprog
Messages postés4297Date d'inscriptionsamedi 19 janvier 2002StatutMembreDernière intervention 9 janvier 201332 14 févr. 2003 à 17:21
Tu as raison, j'étais reparti d'un morceau de code source que j'avais fait pour un autre membre du forum à propos de l'utilisation d'un TListView, croyant que c'était identique. Mais, chose étrange, la propriété ItemSelected ne renvoie rien.
Le composant TShellListView n'est pas documenté par Borland. Mais comme il hérite du TCustomListView et que sa propriété SelectedFolder est du type TShellFolder, il devenait évident d'utiliser ces deux propriétés.
NB : "If assigned(SelectedFolder)" est équivalent à "if SelectedFolder <> Nil".
May Delphi be with you
ShellListView.SelectedFolder > s'applique pour l'item encadré d'un cadre gris ( c'est le cadre gris qui est visible quand on selectionne plusieurs objets, le cadre gris se trouve sur le dernier object sélectionné)