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 PopupMenu.Popup auf Komponente (https://www.delphipraxis.net/71227-popupmenu-popup-auf-komponente.html)

Martin K 11. Jun 2006 16:40


PopupMenu.Popup auf Komponente
 
Hi,
ich möchte gerne ein PopupMenu auf einer Komponente ausführen (also PopupMenu.Popup).
Die geschieht im OnMouseUp-Ereignis der Komponente.
In diesem Ereignis werden mir ja die Koordinaten X, Y übergeben, wenn ich aber PopupMenu.Popup(X, Y) schreibe, ist das PopupMenu natürlich an der falschen Stelle.
Mit Left/Top der Form + Left/Top der Komponente + X/Y habe ich das PopupMenu immer noch nicht an der gewünschten Stelle.
Nun könnte ich natürlich solange irgendwelche Zahlen addieren bis es passt, aber da muss es doch eine elegantere Lösung geben,
dem PopupMenu zu sagen, dass es von dieser Komponente (und deren X/Y-Werte) aus ausgeführt werden soll...

Achso:
Nein, ich kann das PopupMenu NICHT der Komponente dirket zuordnen, da in OnMouseUp noch andere Befehle VOR dem Popup ausgeführt werden sollen.

Dax 11. Jun 2006 16:41

Re: PopupMenu.Popup auf Komponente
 
Funktionierts mit X+comp.Left, Y+comp.Top auch nicht?

Martin K 11. Jun 2006 16:43

Re: PopupMenu.Popup auf Komponente
 
Nö.
Comp.Left ist ja immer vom Left der Form aus gesehen.
//Edit: und dann kommt eben noch die Border-Breite dazu...

PopupMenu.Popup will aber die X,Y-Werte vom Screen aus!

Dax 11. Jun 2006 16:47

Re: PopupMenu.Popup auf Komponente
 
Ah, dann kuck dir mal Delphi-Referenz durchsuchenClientToScreen an :)

Martin K 11. Jun 2006 16:52

Re: PopupMenu.Popup auf Komponente
 
Ja, danke - das hab ich gesucht :thumb:

Hier mein Code:
Delphi-Quellcode:
    PopupMenu1.Popup(ClientToScreen(Point(X,Y)).X, ClientToScreen(Point(X,Y)).Y);


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:13 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 by Thomas Breitkreuz