![]() |
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:
Item.selected ist soweit richtig, also true oder False, aber in Caption steht nix drinn.
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; Jemand ne Idee ? Gruß Nightshade |
Code:
habs nicht ausprobiert, sollte aber funzen ;-)
namederspalte1:= listview1.items[i].caption;
namederspalte2:= listview1.items[i].subitems[0]; ... |
Hallo,
ist zwar von der normalen LV, sollte aber auch gehen. Das ganze im OnSelectItem der LV.
Delphi-Quellcode:
Grüsse, Daniel :hi:
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]; |
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 |
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