![]() |
Datei in Shelllistview darstellen
Hallo,
ich möchte mit Opendialog eine Datei auswählen, genau dieselbe Datei (nicht das ganze Verzeichnis) soll dann in einem Shelllistview (falls nicht möglich könnte ich auch ein normales Listview nehmen) mit Icon dargestellt werden. :gruebel: Kann mir jemand helfen, wie das geht ??? ich hab das so probiert , aber dann steht immer : 'der linken Seite kann nichts zugewiesen werden'
Delphi-Quellcode:
ShellListView1.Folders[ShellListView1.ItemIndex].PathName := Opendialog1.filename;
|
Re: Datei in Shelllistview darstellen
Vielleicht so?
Delphi-Quellcode:
Damit wirklich _nur_die_eine_gewählte_ Datei anzeigt wird, musst du im OnAddFolder-Event nach dem Dateinamen filtern.
ShellListView1.Root := ExtractFilePath(Opendialog1.Filename);
z.B. so:
Delphi-Quellcode:
procedure TForm1.ShellListView1AddFolder(Sender: TObject;
AFolder: TShellFolder; var CanAdd: Boolean); begin if CompareText (AFolder.DisplayName, ExtractFileName (OpenDialog1.FileName)) = 0 then CanAdd := true else CanAdd := false; end; |
Re: Datei in Shelllistview darstellen
Danke
Funktioniert, aber noch nicht ganz. Die Dateiendung muß noch weg, dann gehts......
Delphi-Quellcode:
procedure TForm6.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder;
var CanAdd: Boolean); var Dateiname:String; begin Dateiname:= ChangeFileExt(ExtractFilename (OpenDialog1.FileName), ''); if CompareText (AFolder.DisplayName,Dateiname) = 0 then CanAdd := true else CanAdd := false; end; |
Re: Datei in Shelllistview darstellen
Und etwas kürzer dann:
Delphi-Quellcode:
procedure TForm6.ShellListView1AddFolder(Sender: TObject; AFolder: TShellFolder;
var CanAdd: Boolean); begin CanAdd := AnsiSameText(AFolder.DisplayName,ChangeFileExt(ExtractFilename (OpenDialog1.FileName), '')); end; |
Re: Datei in Shelllistview darstellen
Zitat:
|
Re: Datei in Shelllistview darstellen
Definiere "geht nicht".
|
Re: Datei in Shelllistview darstellen
Zitat:
|
Re: Datei in Shelllistview darstellen
Komisch, ich mache doch im Prinzip auch nichts anderes als der andere Code.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 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