![]() |
Relative Position Komponente zu GetParentForm(Komponente)
Ich habe ein komplexes TForm mit allerlei Panels etc. Auf einem PageControl sitzt ein TEdit (mit .Parent = MeinForm), dessen relative Position zur TForm ich benötige, um es in einem speziellen Fall richtig auszurichten.
Bei TControl.ClientOrigin ist zu beachten, daß es den Punkt auf dem Screen liefert, nicht auf der übergeordneten TForm. Demnach sollte es so gehen:
Delphi-Quellcode:
Dabei schlagen allerdings ca. 10 Pixel für X + Y meiner "Window-Decoration" zu Buche, also die Ränder meines Vista-Theme-Form, was bei anderen Themes sehr wahrscheinlich mehr (oder weniger) sein wird, daher kein fester Wert.
X := MeinEdit.ClientOrigin.X - GetParentForm(MeinEdit).Left;
Y := MeinEdit.ClientOrigin.Y - GetParentForm(MeinEdit).Top; Kann ich im Zusammenhang mit ClientOrigin die Ränder meiner Form zuverlässig berechnen? |
Re: Relative Position Komponente zu GetParentForm(Komponente
hallo benutze doch einfach width und clientwidth von form:
Delphi-Quellcode:
ungetestet
border := (width - clientwidth) div 2;
titleleiste := height - clientheight - border; ich hoffe ich habe dir geholfen |
Re: Relative Position Komponente zu GetParentForm(Komponente
Problem gelöst, zwar anders aber vielen Dank für den Denkanstoss.
Die X + Y Position bestimme ich einfach über
Delphi-Quellcode:
OffsetRect(MeinEdit.BoundsRect,
MeinTab.ClientOrigin.X - Form.ClientOrigin.X, MeinTab.ClientOrigin.Y - Form.ClientOrigin.Y ); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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