ShGetFileInfo und unterschiedliche Bildschirmskalierung
18. Nov 2020, 12:39
Hallo,
ich hole mir die Sytem-Datei-Icons mit folgendem Befehl in eine ImageList
ImageList.Handle:=ShGetFileInfo('', FILE_ATTRIBUTE_NORMAL, FileInfo, SizeOf(FileInfo), SHGFI_SYSICONINDEX or SHGFI_SMALLICON));
Die Imagelist enthält danach Icons, deren Größe abhängig ist von der Skalierung des Hauptmonitors (nicht des Monitors, auf dem mein Programm läuft).
Beispiel: Hauptmonitor mit 175%: Icons sind 28x28 Pixel groß (entspricht 175% gegenüber 16x16).
Ich kann dann zwar die ImageList mit Width:=16 und Height:=16 wieder zurück skalieren, das geht aber auf Kosten der Darstellungsqualität.
Wie kann ich die Icons immer mit 16x16 erhalten, unabhängig von der Sklaierung des Hauptmonitors?
Immerhin läuft mein Programm auf dem zweiten Monitor mit 100% oder 125%, da sollte es doch egal sein, ob der Hauptmonitor mit 175% läuft.
|