![]() |
Verständnis bon Class TRect Definition
wie steuere ich denn ob TRect nur durch 2 TPoints oder 4 Integer Werte aufgespannt wird ?
Delphi-Quellcode:
TRect = record
private function GetWidth: Integer; procedure SetWidth(const Value: Integer); function GetHeight: Integer; procedure SetHeight(const Value: Integer); function GetSize: TSize; procedure SetSize(const Value: TSize); function GetLocation: TPoint; public constructor Create(const Origin: TPoint); overload; // empty rect at given origin constructor Create(const Origin: TPoint; Width, Height: Integer); overload; // at TPoint of origin with width and height constructor Create(const Left, Top, Right, Bottom: Integer); overload; // at x, y with width and height constructor Create(const P1, P2: TPoint; Normalize: Boolean = False); overload; // with corners specified by p1 and p2 constructor Create(const R: TRect; Normalize: Boolean = False); overload; class operator Equal(const Lhs, Rhs: TRect): Boolean; class operator NotEqual(const Lhs, Rhs: TRect): Boolean; class operator Add(const Lhs, Rhs: TRect): TRect; class operator Multiply(const Lhs, Rhs: TRect): TRect; class function Empty: TRect; inline; static; procedure NormalizeRect; function IsEmpty: Boolean; function Contains(const Pt: TPoint): Boolean; overload; function Contains(const R: TRect): Boolean; overload; function IntersectsWith(const R: TRect): Boolean; class function Intersect(const R1: TRect; const R2: TRect): TRect; overload; static; procedure Intersect(const R: TRect); overload; class function Union(const R1: TRect; const R2: TRect): TRect; overload; static; procedure Union(const R: TRect); overload; class function Union(const Points: Array of TPoint): TRect; overload; static; procedure Offset(const DX, DY: Integer); overload; procedure Offset(const Point: TPoint); overload; ... ... case Integer of 0: (Left, Top, Right, Bottom: FixedInt); 1: (TopLeft, BottomRight: TPoint); end; |
AW: Verständnis bon Class TRect Definition
Delphi-Quellcode:
Macht das doch.
constructor Create(const Left, Top, Right, Bottom: Integer); overload; // at x, y with width and height
constructor Create(const P1, P2: TPoint; Normalize: Boolean = False); overload; // with corners specified by p1 and p2 x = Left, y = Top, x+Width = Right, y+Height = Bottom Rollo |
AW: Verständnis bon Class TRect Definition
Zitat:
Die Darstellung ist im Speicherlayout identisch. Ein
Delphi-Quellcode:
ist ja auch nichts anderes als zwei FixedInt-Werte für X und Y. Daher gilt
TPoint
Delphi-Quellcode:
Es ist also völlig egal, über welches Create das TRect erzeugt wurde oder ob die Werte direkt zugewiesen wurden und wie es behandelt wird. Es kommt immer dasselbe raus.
Left = TopLeft.X
Top = TopLeft.Y Right = BottomRight.X Bottom = BottomRight.Y |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:25 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz