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 Popup irgendwo (https://www.delphipraxis.net/66693-popup-irgendwo.html)

ozz 2. Apr 2006 18:00


Popup irgendwo
 
Hallo zusammen,
ich habe etwas Probleme mit einen Popup. Dieses erscheint nicht an der richtigen Stelle. Ich weiß auch , was das Problem ist. Die verwendeten Koordinaten beziehen sich immer relativ auf die auslösende Objekt. Für das Form gibt es die (siehe unten). Wie bekomme ich diese mit Hilfe des Senders?
Delphi-Quellcode:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
if Button= mbRight then PopupMenu1.Popup(Form1.Left + x,Form1.Top +y);
end;

ste_ett 2. Apr 2006 18:03

Re: Popup irgendwo
 
Delphi-Quellcode:
ClientToScreen
wandelt die Koordianten um. :)

ozz 2. Apr 2006 20:36

Re: Popup irgendwo
 
Hallo ste_ett,
danke für den Tipp. Leider ist dies genau das gleiche Ergebniss.Ist vieleicht der Fehler in meinem Code?

Danke

Delphi-Quellcode:
procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var coordinate,coordinate1:TPoint;
begin
 coordinate.X:=x;
 coordinate.Y:=y;
 coordinate1:=ClientToScreen(coordinate);
 if Button= mbRight then PopupMenu1.Popup(coordinate1.X,coordinate1.Y);
end;

ste_ett 2. Apr 2006 21:04

Re: Popup irgendwo
 
Bei mir klappt es mit dem Code.
Die linke, obere Ecke des Popups sollte bei dir auf der Cursorspitze erscheinen.


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