AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IMage in Listview No 10.938.362.092

Ein Thema von napsterxx · begonnen am 28. Jul 2007 · letzter Beitrag vom 28. Jul 2007
Antwort Antwort
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

IMage in Listview No 10.938.362.092

  Alt 28. Jul 2007, 11:59
Hi
Das gibts ja schon halbe Millionenmal in diesem Forum aber trotzdem verstehe ichs einfach nicht ...
Wie kann ich in die erste Spalte einer Listview ein Bild aus einer Paintbox einfügen?

Kurz zu meiner Idee:
Ich öffne einen OpenDialog, wähle eine Datei aus und diese soll dann in die Listview geladen werden. Ganz vorne soll das Icon der Datei sein.
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: IMage in Listview No 10.938.362.092

  Alt 28. Jul 2007, 13:13
Zitat von napsterxx:
Kurz zu meiner Idee:
Ich öffne einen OpenDialog, wähle eine Datei aus und diese soll dann in die Listview geladen werden. Ganz vorne soll das Icon der Datei sein.
Hi,

Das geöffnete Bild würde ich zu einem Bitmap konvertieren und verkleinern. Du müsstest eventuell noch die Proportionalität der Bilder beachten, das habe ich jetzt nicht extra gemacht. Dann fügst du das Bild einer ImageList hinzu und zeigst es dann im Listview an.
Angehängte Dateien
Dateityp: zip listviewbild_173.zip (30,4 KB, 19x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: IMage in Listview No 10.938.362.092

  Alt 28. Jul 2007, 18:07
thx funtzt einwandfrei bloß noch eine frage:

wenn ich nun eine Datei wähle wird diese mit richtigem Icon eingelsen wiederhole ich die prozedur dann dann haben alle einträge das selbe ICON

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  LI: TListItem;
  Count : Integer;
  I : Integer;
  Bmp: TBitmap;
  fa: TFileAttributes;
  TempIcon: HICON;
  Icon:TIcon;
begin
ImageList1.Clear;
  if Open.Execute then
    LX.Items := Open.Files;
    Bmp:= TBitmap.Create;
    Count := LX.Items.Count;
    for I := 0 to Count-1 do
    begin
      LI := Listview1.Items.Insert(0);

      TempIcon := IconFromFile(LX.Items.Strings[I],0);
      Icon:=TIcon.Create;
      Icon.Handle := TempIcon;
      IMageList1.AddIcon(Icon);
      Icon.Free;

      Listview1.SmallImages:= ImageList1;
      LI.Caption:= ExtractFilename(LX.Items.Strings[I]);
      LI.ImageIndex:= i;

      LI.SubItems.Add(inttostr(GetFileSizeEx(LX.Items.Strings[I])));
      LI.SubItems.Add(GetFileTypename(LX.Items.Strings[I]));
      LI.SubItems.Add(DateTimeToStr(GetFileLastAccessTime(LX.Items.Strings[I])));
      fa:=GetFileAttributes(LX.Items.Strings[I]);


      if readonly in fa then
      LI.SubItems.Add('SG')
      else
      LI.SubItems.Add('NSG')
    end;
end;
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: IMage in Listview No 10.938.362.092

  Alt 28. Jul 2007, 19:10
Deinen Code habe ich ein bisschen umgebaut. Diese Zeile hat jedenfalls Probleme bei mir gemacht, wenn ich das 2. Mal den Opendialog aufgerufen hatte, gab es eine Schutzverletzung.LX.Items := Open.Files;
Angehängte Dateien
Dateityp: zip fileicon_109.zip (6,1 KB, 24x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz