Wenn ich den Code in
VCL.Forms und
VCL.Controls korrekt lese, dann tritt Activate vor Create auf, wenn WindowState=wsMaximized gesetzt wird, Scaled=TRUE belassen wird, mindestens Windows 6.3 installiert ist und wenn
Winapi.Windows.USER_DEFAULT_SCREEN_DPI <> GetCurrentPPIScreen( )
Bei meinem System:
Winapi.Windows.USER_DEFAULT_SCREEN_DPI 96
GetCurrentPPIScreen( ) 120
=> procedure TCustomForm.ScaleNormalSize(M, D: Integer); wird aufgerufen und damit, weil WindowState = wsMaximized dann irgendwann SetWindowPlacement(
Handle, @WindowPlacement); => OnActivate
Falls jemand nach der Änderung (Code unten) (
and not ( fsCreating in FFormState)
Delphi-Quellcode:
procedure TCustomForm.ScaleNormalSize(M, D: Integer);
var
WindowPlacement: TWindowPlacement;
begin
if ( WindowState = wsMaximized ) and not ( fsCreating in FFormState ) then
begin
noch Probleme hat, dann suche ich noch einmal
.
Habe es noch nicht getestet und wird schwer bei mir, weil ich den Fehler auch vorher nie hatte.
Aber einfach
and not ( fsCreating in FFormState in der offiziellen Emba-
Unit in TCustomForm.ScaleNormalSize einfügen und damit sollte es gut sein? Darf ich das als CE_Nutzer überhaupt?