Doch, hat sie, wenn du die Richtige benutzt.
* Self.GetClientRect von der Form, bzw. TCustomForm
* Windows.GetClientRect aus der Windows.pas, bzw.
Winapi.Windows.pas
Die machen aber natürlich beide genau das Gleiche.
R := DelphiKomponente.GetClientRect;
oder
GetClientRect(HandleDerKomponente, R);
Dein Programm ist skaliert, also bekommt es auch die Koordinaten skaliert, aus seiner eigenen verbogenen Sichtweise.
Wäre dein Programm für HighDPI ausgelegt, also es dem Windoes sagt "ich kann das", dann wird es nicht skalliert und bekommt auch alle Canvas und Koordinaten in unverfäschter Form.
Genauso wird dein Programm in aktuellen Windowsen virtualisiert, also wenn dein Programm fragt, welche Windowsversions das ist, bekommt es meistens XP oder Vista gesagt, weil sich dein Programm nicht als kompatibel mit der dem Windows geoutet hat.
https://www.delphipraxis.net/216149-...skmanager.html