Ich denk das ist ein Bug in
VCL.Buttons.pas (in D10.4.1/2).
This change in
VCL.Buttons.pas should fix that.
// LStyle.DrawText(
DC, FThemeDetails, Text, TextRect, LFormats, LOptions); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7
LStyle.DrawText(
DC, FThemeDetails, Text, TextRect, LFormats, LColor); //according RSP-30755 (minor subfix) - fix Bitbtn and SpeedButton background color error in win7
Hier der genaue/komplette Grund für die unterschieldiche Darstellung:
Delphi-Quellcode:
if CheckPerMonitorV2SupportForWindow(
Handle)
then
PPI := FCurrentPPI
else
PPI := 0;
LStyle.DrawElement(Canvas.Handle, Details, R,
nil, PPI);
Aber der eigentliche Grund ist natürlich, das DPI_AWARENESS_CONTEXT_PER_MONITOR_AWARE_V2 erst mit Windows 10 erfunden wurde und Windows 7 das nicht kennen kann.
Lösung: Wenn Programm in Windows < 10 ausgeführt, dann kein PerMonitorV2 verwenden