Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#3

AW: ImageList_Draw im Modus DPIAware per monitor v2

  Alt 22. Sep 2022, 21:57
Das SHGetFileInfo gibt ein Handle auf eine System-ImageList zurück. Die hat eine bestimmte Größe. An der Stelle gibt es aber noch keinen DeviceContext, der mit einem DPI-Wert dienen könnte. Auch kann das SHGetFileInfo nicht wissen, wo das Icon denn später gemalt werden soll.
Ich vermute mal, die Größe der Icons in der ImageList wird anhand der Skalierung des Primary Monitor ermittelt. Solange keine alternative SHGetFileInfoForDPI verfügbar ist, wird das wohl nichts mit dem auf Monitor DPI Anpassen.

Die Schwester-Funktion SHGetImageList ist auch nur Process DPI aware, also auch nichts mit per Monitor.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat