AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Relative Position Komponente zu GetParentForm(Komponente)
Thema durchsuchen
Ansicht
Themen-Optionen

Relative Position Komponente zu GetParentForm(Komponente)

Ein Thema von anse · begonnen am 15. Jul 2009 · letzter Beitrag vom 16. Jul 2009
Antwort Antwort
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#1

Relative Position Komponente zu GetParentForm(Komponente)

  Alt 15. Jul 2009, 01:19
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:
X := MeinEdit.ClientOrigin.X - GetParentForm(MeinEdit).Left;
Y := MeinEdit.ClientOrigin.Y - GetParentForm(MeinEdit).Top;
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.

Kann ich im Zusammenhang mit ClientOrigin die Ränder meiner Form zuverlässig berechnen?
Ansgar Becker
  Mit Zitat antworten Zitat
IIIMADDINIII
(Gast)

n/a Beiträge
 
#2

Re: Relative Position Komponente zu GetParentForm(Komponente

  Alt 15. Jul 2009, 01:27
hallo benutze doch einfach width und clientwidth von form:
Delphi-Quellcode:
border := (width - clientwidth) div 2;
titleleiste := height - clientheight - border;
ungetestet

ich hoffe ich habe dir geholfen
  Mit Zitat antworten Zitat
Benutzerbild von anse
anse

Registriert seit: 30. Okt 2006
Ort: Neuenkirchen
197 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Relative Position Komponente zu GetParentForm(Komponente

  Alt 16. Jul 2009, 23:51
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
  );
Ansgar Becker
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz