Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Handle der systemimagelist? (https://www.delphipraxis.net/153132-handle-der-systemimagelist.html)

Mattze 22. Jul 2010 10:22

Handle der systemimagelist?
 
Hi,

also früher ging es mal so:
i:=SHGetFileInfo('',0,finfo,sizeof(finfo),SHGFI_Ic on or SHGFI_SMALLICON OR SHGFI_SYSICONINDEX);
und laut Beschreibung müsste es so weiterhin gehen.
(i ist das gesuchte Handle.)

i ist auch weiterhin das Handle einer Imagelist, nur...
Meine Systemimagelist hat 513 Symbole, die Imagelist mit dem Handle i gerade mal 7 oder 8 oder... Ändert sich!
Scheint vom ersten Parameter abhängig zu sein. (Hier ''.)

Unter Win 7 scheint das geändert zu sein. Vor XP (Win98 usw.) übersetzt kriegte ich so die ganze! Wie kriege ich sie nun?

Weiß das jemand?

Gruß
Mattze

Mattze 22. Jul 2010 14:58

AW: Handle der systemimagelist?
 
Hi,

hab's raus. Das hat sich wirklich "bei NT-basierten Systemen " geändert und ich habe es nicht mitbekommen.
Ist ja ein Ding!!!

Die Lösung habe ich unter http://forum.delphiarea.com/viewtopic.php?f=7&t=1425# gefunden. Die Prozedur
FileIconInit macht es sauber!

Die Änderung ist soweit eigentlich gar nicht schlecht. Es fragt sich aber, wie ich an die "allgemeinen Ikonen" rankomme. Also, z. Bsp., das Icon, das Windows von sich aus allgemein für Festplatten nutzt u. ä.

Na ja...

Gruß
Mattze

Assarbad 3. Nov 2010 21:22

AW: Handle der systemimagelist?
 
Zitat:

Zitat von Mattze (Beitrag 1036864)
Es fragt sich aber, wie ich an die "allgemeinen Ikonen" rankomme. Also, z. Bsp., das Icon, das Windows von sich aus allgemein für Festplatten nutzt u. ä.

Nicht sicher ob es ist was du meinst, aber MSDN-Library durchsuchenSHGetStockIconInfo könnte sein was du suchst. Ist eine der brandneuen Funktionen. Damit bekommt man bspw. das Schildsymbol (aus UAC).

Mattze 4. Nov 2010 11:38

AW: Handle der systemimagelist?
 
Hallo,

vielen Dank. Das scheint wirklich genau das zu sein, was ich gesucht habe. Schade, dass es das erst ab Vista gibt. Aber auf längere Sicht bleibt einem ja sowieso nix anderes als Win 7 übrig...

Nun muss ich nur noch das TSHGetStockIconInfo für mein altes Delphi 7 pro definieren.
Nun ja...

Gruß
Mattze

Assarbad 4. Nov 2010 11:46

AW: Handle der systemimagelist?
 
Zitat:

Zitat von Mattze (Beitrag 1059603)
Nun muss ich nur noch das TSHGetStockIconInfo für mein altes Delphi 7 pro definieren.
Nun ja...

Da ich nicht mehr im Projekt bin, weiß ich nicht ob die schon aufgenommen wurde, aber du kannst auch einfach die JEDI ApiLib benutzen. Die Units lassen sich übrigens auch einzeln einbinden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:25 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