Einzelnen Beitrag anzeigen

BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
480 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: WennTForm.Constraints.MaxWidth gesetzt, wird das Formular falsch maximiert

  Alt 30. Mai 2023, 10:57
Ich bin mir recht sicher, das Windows den Fehler verursacht. Bei mir habe ich 2 Monitore.
Mein erster Monitor (Primär) 1920 x 1080 und der zweite 1920 x 1200 sind wohl die Ursache. Wenn ClientWidth gesetzt wird, so wird zur Berechnung der maximale Höhe der 2. Monitor verwendet.
Diese Höhe wird aber nicht in der Unit Vcl.Forms gesetzt. Für mich sieht es so aus, dass das Windows selbst so setzt.

Ich habe jetze eine neue Basisklasse für alle Forms mit begrenzter Breite und variabler Höhe, die per
    procedure WMGetMinMaxInfo(var Msg: TWMGetMinMaxInfo); message WM_GETMINMAXINFO; das Problem behebt.
Mich hat es eh gestört, das bei fester Breite beim Maximieren Left auf 0 gesetzt wird. Auch das konnte ich damit lösen.


Wenn man nur einen Monitor oder zwei identische hat, wird mal diese Problem nicht haben.
Bernd
  Mit Zitat antworten Zitat