@nip: grundsätzlich richtig, allerdings sollte man das Ergebnis von Mouse.Cursorpos auf eine Variable zwischenspeichern da beim Aufruf von Mouse.Cursorpos intern nix anderes gemacht wird als
windows.getcursorpos
Das heißt, es wird 2 mal die cursorposition per
api abgefragt obwohl sie sich nicht geändert hat. Also entweder mit
LMousepos := Mouse.Cursorpos;
oder gleich
GetCursorpos(LMousepos);
was auch performanter ist da nicht noch zusäzlich eine weitere Funktion aufruft die letztendlich doch wieder diese aufruft...
Also am besten so
Delphi-Quellcode:
var LCursorPos: TPoint;
begin
GetCursorPos(LCursorPos);
PopupMenu1.Popup(LCursorPos.X, LCursorPos.Y);