Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Absolute Position eines Buttons (https://www.delphipraxis.net/101454-absolute-position-eines-buttons.html)

little_budda 13. Okt 2007 15:15


Absolute Position eines Buttons
 
Hallo,

ich möchte gerne die absolute Position (bezogen auf den Screen) eines Buttons zur Laufzeit ermitteln.
Der Grund ist, das ich per Linksklick ein Kontextmenü einblenden möchte (Menu.Popup(x, y))
welches exakt den aufrufenden Button überlagert.

Bei dem OnClick Ereignis wird doch immer das Objekt der Buttons (Sender) mitgeliefert.
Delphi-Quellcode:
procedure Tfrm_main.BitBtn1Click(Sender: TObject);
Kann man aus dem Objekt die Position auslesen?

Ich habe bisher den Umweg über die Einzelnen Top- und Left-Werte bis hin zum Button genommen.
Aber ich ereiche die Position des Buttons nicht korrekt.

Gruß Holger.

:gruebel:

Andreas L. 13. Okt 2007 15:18

Re: Absolute Position eines Buttons
 
Hier im Forum suchenScreenToClient
Hier im Forum suchenClientToScreen

little_budda 13. Okt 2007 16:07

Re: Absolute Position eines Buttons
 
Danke, das klappt soweit.

Wenn ich die Position meines Buttons auf der Form ermittle
und dann umrechnen lasse erscheint das Popup
mit seiner Ecke oben links genau auf der Ecke oben links des Buttons.

Ich hätte es aber gern synchronisier mit der Ecke unten links.
Kann ich die Breite meines Menüs zur Laufzeit abfragen?

:gruebel:

brinkee 13. Okt 2007 16:25

Re: Absolute Position eines Buttons
 
Naja, dann ist es einfach

Delphi-Quellcode:
Menu.Popup(x, y + Button.Height);

little_budda 13. Okt 2007 16:32

Re: Absolute Position eines Buttons
 
Nein, das meinte ich nicht.
Vielleicht hab ich mich auch falsch ausgedrückt.

Ich möchte gerne das Menü so einblenden das seine untere rechte Ecke
genau über der unteren rechten Ecke des Buttons liegt.

brinkee 13. Okt 2007 16:41

Re: Absolute Position eines Buttons
 
Okay, sorry. Das ist natürlich was anderes...

LG, Markus

P.S.: Wenn Dein Popup immer die Selbe Breit hat, dann kannst Du ja einfach ein bisschen mit Werten rumaddieren bis es passt. Ist natürlich nicht elegant, aber würde gehen, oder?

little_budda 13. Okt 2007 16:58

Re: Absolute Position eines Buttons
 
Ja klar,
so hab ich es momentan ja gelöst.

Mit festen Werten als negativer Offset.
Aber ich dacht es gäbe evtl. eine elegantere Lösung.

brinkee 13. Okt 2007 17:12

Re: Absolute Position eines Buttons
 
Die gibt es bestimmt. Mir jedenfalls ist sie nicht bekannt.

LG, Markus

little_budda 13. Okt 2007 17:19

Re: Absolute Position eines Buttons
 
OK.
Trotzdem Danke für den ersten Tipp.
Ich mach den Thread jetzt zu.

Gruß Holger.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:26 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