From 560115beea5a76116d24bd6f405fb760f5ac72cd Mon Sep 17 00:00:00 2001 From: Juha Date: Tue, 11 Jun 2024 13:37:57 +0300 Subject: [PATCH] IDE: Improve popup menu position in designer when using keyboard. Issue #40807, patch by n7800. --- designer/designer.pp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/designer/designer.pp b/designer/designer.pp index 0a697f7c66..fd7acad6e4 100644 --- a/designer/designer.pp +++ b/designer/designer.pp @@ -2040,7 +2040,13 @@ begin begin PopupMenuComponentEditor := GetComponentEditorForSelection; BuildPopupMenu; - FDesignerPopupMenu.Popup(Message.XPos, Message.YPos); + if (Message.XPos = -1) and (Message.YPos = -1) then + // called from keyboard (VK_APPS or Shift+F10) + with Form.ClientToScreen(Point(Selection.Left, Selection.Top)) do + FDesignerPopupMenu.Popup(X, Y) + else + // coordinates can be negative with multiple monitors + FDesignerPopupMenu.Popup(Message.XPos, Message.YPos); end; Message.Result := 1; end;