Einzelnen Beitrag anzeigen

taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
542 Beiträge
 
Delphi 11 Alexandria
 
#1

effektive Form.height?

  Alt 25. Jun 2025, 11:52
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
Miniaturansicht angehängter Grafiken
delphi.jpg   effektiv.jpg  
Angehängte Dateien
Dateityp: zip FormTopLeftWidthHeight.zip (19,8 KB, 1x aufgerufen)
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.

Geändert von taveuni (25. Jun 2025 um 11:57 Uhr) Grund: Minimaldemo angehängt
  Mit Zitat antworten Zitat