Forum: Win32/Win64 API (native code)
by MicMic,
14. Jul 2018
@EWeiss... wie ich schrieb, mit "Hochauflösung aktivieren" werden es 32x32. Sonst 16x16. Also die sind schon da.
Im übrigen ein erwartendes 32x32 wird dann 64x64. (SHGetFileInfo oder SHGetImageLis)
Das macht ja alles Sinn, wenn höhere Auflösungen genutzt werden. Skalierungsfaktor 100% oder mehr, bei allen Auflösungen (z.B. auch 800x600) liefern stets 32x32. Die Sache wird erst wieder normal...
Forum: Win32/Win64 API (native code)
by MicMic,
12. Jul 2018
Mit dem obigen Code wird nur die System Icon Liste zugewiesen (und halt keine 16x16er), später per Index wird dann ein Icon daraus geladen.
16x16/32x32 hin oder her... ich habe jetzt eine bessere Skalierungsfunktion.
Nicht mehr mit "DrawIconEx", sondern mit StretchBlt. So muss ich auch nicht mehr ".GetIcon" von TImageList nutzen (langsam). Also ".Draw" (schneller) von der TImageList in ein...
Forum: Win32/Win64 API (native code)
by MicMic,
12. Jul 2018
Hier noch mal ein Beispiel-Code:
var
SysIL : UInt;
Result : HIMAGELIST;
IList : TImageList;
const
IID_IImageList: TGUID = '{46EB5926-582E-4017-9FDF-E8998DAA0950}'; // Das hab ich so im Internet gefunden
Forum: Win32/Win64 API (native code)
by MicMic,
11. Jul 2018
Nachtrag: Vielleicht bin ich auch nur sehr empfindlich. :) Die Skalierung mit "DrawIconEx" ist eigentlich mit anderen Anwendungen vergleichbar. Aber vielleicht gibt's ja was besseres :)
Forum: Win32/Win64 API (native code)
by MicMic,
11. Jul 2018
Hallo,
vielleicht hat ja jemand eine Idee.
in Delphi 10 habe ich "Hochauflösung aktivieren" (mit "Manifestdatei automatisch erzeugen") in den Projekt-Optionen aktiviert.
Da bekommt man von der System Image List (Icons) für die kleinen Icons, die 32x32 Icons zurück geliefert.
Macht auch Sinn bei großen Auflösungen aber bei einer 1920x1080 bekomme ich dann auch 32x32 Icons. Hier hätte ich...