Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#1

ImageList_Draw im Modus DPIAware per monitor v2

  Alt 22. Sep 2022, 18:34
Wenn ich folgenden Code verwende:

syshandle := SHGetFileInfo(PChar(PF.FullName), FILE_ATTRIBUTE_NORMAL, SFI, SizeOf(TSHFileInfo), SHGFI_SYSICONINDEX or SHGFI_LARGEICON or SHGFI_USEFILEATTRIBUTES); ImageList_Draw(syshandle,sfi.iIcon,lb.canvas.handle,rect.left+2,rect.top+ round (PicPlus), ILD_TRANSPARENT);

funktioniert das nicht, wenn ich mehrere Monitore mit unterschiedlichen Auflösungen habe (HighDPI).

Das Image ist i.d.R. viel zu Groß, vermute es wird immer die höchste im System verwendete Skalierung verwendet.

Gibt es eine Möglichkeit, hier die richtige Größe ausgegeben zu bekommen?

Geändert von Harry Stahl (22. Sep 2022 um 18:41 Uhr)
  Mit Zitat antworten Zitat