AGB  ·  Datenschutz  ·  Impressum  







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

System Image List kopieren

Ein Thema von oki · begonnen am 7. Nov 2008 · letzter Beitrag vom 9. Nov 2008
 
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#1

System Image List kopieren

  Alt 7. Nov 2008, 19:55
Hi Leute,

ich möchte die System Image List in meine eigene ImageList kopieren, damit ich die passenden Icons zu gelisteten Dateien in meinem Listview anzeigen kann. Hierzu habe ich zwei eigene Imagelisten angelegt. Eine für die Icons 32x32 und eine für die Icons 16x16. Zum Kopieren wollte ich die Shell-Funktion Shell_GetImageLists aus Shell32.dll verwenden.

Die Definition aus der Hilfe lautet:
Zitat:
BOOL Shell_GetImageLists(
HIMAGELIST *phiml,
HIMAGELIST *phimlSmall
);

Parameters

phiml
[in] Pointer to the handle of an image list which, on success, receives the system image list for large (32 x 32) icons.
phimlSmall
[in] Pointer to the handle of an image list which, on success, receives the system image list for small (16 x 16) icons.
Leider klappt das nicht. Ich bekomme folgende Fehlermeldung:
Zitat:
E2036 Variable erforderlich
Eingebunden und benutzt habe ich die Funktion folgendermaßen:

Delphi-Quellcode:
....
function Shell_GetImageLists(LargeList : PCardinal; SmallList : PCardinal) : Boolean; stdcall;

implementation

function Shell_GetImageLists; external shell32 name 'Shell_GetImageLists';
....


procedure TOTFListView.CreateWnd;
begin
  inherited;
  FFileImageList16 := TImageList.Create(self);
  FFileImageList16.Height := 16;
  FFileImageList16.Width := 16;
  self.SmallImages := FFileImageList16;

  FFileImageList32 := TImageList.Create(self);
  FFileImageList32.Height := 32;
  FFileImageList32.Width := 32;
  self.LargeImages := FFileImageList32;

  Shell_GetImageLists(@FFileImageList32.Handle, @FFileImageList16.Handle); // Fehler
end;
Ich denke, die Fehlermeldung kommt, weil Handle eine Nur-Lese-Eigenschaft ist.
Gleichzeitig gehe ich aber davon aus, dass das Handle gar nicht verändert werden soll, sondern nur die Zielliste ist, in die die Icons kopiert werden sollen.

Jetzt gibt es zwei Möglichkeiten, jemand weist mir den Richtigen Weg für die Benutzung dieser Funktion oder es gibt einen anderen Weg den ich nicht sehe.

Schon mal Dank für die Hilfe,

Gruß oki
42
  Mit Zitat antworten Zitat
 


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 11:47 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 by Thomas Breitkreuz