Ich möchte etwas ganz einfaches tun. Meine Mainform sollte unter gewissen Umständen mit einer zusätzlichen Form "erweitert" werden. Also dachte ich mir z. B. im Falle von rechtsbündig:
1. positioniere die 2. Form an Form1.left + Form1.Width. Dies ist mit Form1.left + Form1.
ClientWidth halbwegs gelungen (wobei auch da 2 Pixel fehlen).
2. Die Höhe ganz einfach an Form1.Top + Form1.Height.
Vor allem beim Punkt zwei aber bin ich am verzweifeln.
- Form1.height ist 500. Form1.
- Form1.clientheight ist 441.
- Das effektive gemessene Mass ist 493.
Wie komme ich an diese Zahl? Vielleicht Form1.height - Titlebar - Menubar? Aber wie? Oder was gibts hier für eine Möglichkeit?
Auch Top stimmt nicht ganz. Bzw. Vermutlich ist noch eine unsichtbare Border vorhanden? Der Masstab legt sich ja über die sichtbare Höhe und Breite. Siehe auch die angehängten Bilder.
Getestet an Windows 10 und Windows 11. Keine Skalierung.
Die
DFM:
Delphi-Quellcode:
object FormMain: TFormMain
Left = 0
Top = 0
Caption = 'FormMain'
ClientHeight = 441
ClientWidth = 484
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -12
Font.Name = 'Segoe UI'
Font.Style = []
Menu = mnMain
Position = poDesktopCenter
TextHeight = 15
object memo: TMemo
Left = 88
Top = 160
Width = 305
Height = 145
ReadOnly = True
TabOrder = 0
end
object mnMain: TMainMenu
Left = 272
Top = 104
object mnShowBrowser: TMenuItem
Caption = 'Zeige Fenster rechts'
object rechts1: TMenuItem
Caption = 'rechts'
OnClick = rechts1Click
end
object links1: TMenuItem
Tag = 1
Caption = 'links'
OnClick = rechts1Click
end
object oben1: TMenuItem
Tag = 2
Caption = 'oben'
OnClick = rechts1Click
end
object unten1: TMenuItem
Tag = 3
Caption = 'unten'
OnClick = rechts1Click
end
object unten2: TMenuItem
Caption = 'nix'
OnClick = unten2Click
end
end
end
end
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.