Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Bei ShellListView-Items die Caption auslesen... (https://www.delphipraxis.net/3397-bei-shelllistview-items-die-caption-auslesen.html)

Nightshade 10. Mär 2003 12:59


Bei ShellListView-Items die Caption auslesen...
 
Hallöchen Leute....


Ich hab da nen Problem :

Ich habe ein TShellListView auf meinem Formular, allerdings weiss ich nicht wie ich an die namen (Filenamen) der einzelnen Items komme. das Beipiel aus der OH hat mir auch nicht weiter geholfen.

Delphi-Quellcode:
procedure TForm1.ShellListView1Click(Sender: TObject);
var tmp : string;
    Item : TListItem;
begin
  tmp:='';
  Item := ShellListView1.Selected;
  while Item <> nil do
  begin
    tmp:=tmp+'"'+Item.Caption+'"';
    Item := ShellListView1.GetNextItem(Item, sdAll, [isSelected]);
  end;
  edit1.Text:=tmp;
end;
Item.selected ist soweit richtig, also true oder False, aber in Caption steht nix drinn.

Jemand ne Idee ?

Gruß Nightshade

iaby 10. Mär 2003 20:25

Code:
namederspalte1:= listview1.items[i].caption;
namederspalte2:= listview1.items[i].subitems[0];
...
habs nicht ausprobiert, sollte aber funzen ;-)

Daniel B 10. Mär 2003 20:48

Hallo,

ist zwar von der normalen LV, sollte aber auch gehen.
Das ganze im OnSelectItem der LV.
Delphi-Quellcode:
Edit1.Text := ListView1.Selected.Caption;
Edit2.Text := ListView1.Selected.SubItems.Strings[0];
Edit3.Text := ListView1.Selected.SubItems.Strings[1];
Edit4.Text := ListView1.Selected.SubItems.Strings[2];
Grüsse, Daniel :hi:

Nightshade 12. Mär 2003 21:26

Nee, leider nicht, Mit einem normalem ListView geht es einwandfrei, aber mit der ShellListView nicht :evil:

Hab jetzt die Items selber in eine ListView gebaut, dann geht es.

Aber villeicht hat einer ne Idee wie ich die Grossen Icons mit "SHGetFileInfo" bekomme, ich bekomme immer nur kleine:

Delphi-Quellcode:
  Flags := SHGFI_ICON or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES;
  SHGetFileInfo(PChar(AExtension), FILE_ATTRIBUTE_NORMAL, Info, SizeOf(TSHFileInfo), Flags);
  Result := Info.hIcon;

---------------------------------
Nightshade

Wolff68 19. Apr 2003 22:38

Sieht jetzt wie ein doppelposting aus: Aber auch hier folgende Antwort:

Bei der ShellListView steht der Dateiname in der Eigenschaft Folders[i].PathName
Code:
procedure TMainForm.Button3Click(Sender: TObject);
var
  i : Integer;
  s : String;
begin
  s := '';
  For i := 0 to ShellListView.Items.Count -1 do begin
    IF ShellListView.Items[i].Selected then begin
      s := s + ShellListView.Folders[i].PathName + #10#13;
    end;
  end;
  ShowMessage(s);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz