mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-24 09:19:14 +02:00
designer: handle popup menu key press
git-svn-id: trunk@23177 -
This commit is contained in:
parent
636477433b
commit
db451e1ee6
@ -165,6 +165,7 @@ type
|
||||
procedure KeyDown(Sender: TControl; var TheMessage: TLMKEY);
|
||||
procedure KeyUp(Sender: TControl; var TheMessage: TLMKEY);
|
||||
function HandleSetCursor(var TheMessage: TLMessage): boolean;
|
||||
procedure HandlePopupMenu(Sender: TControl; var Message: TLMMouse);
|
||||
procedure GetMouseMsgShift(TheMessage: TLMMouse; var Shift: TShiftState;
|
||||
var Button: TMouseButton);
|
||||
|
||||
@ -1560,6 +1561,18 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TDesigner.HandlePopupMenu(Sender: TControl; var Message: TLMMouse);
|
||||
var
|
||||
PopupPos: TPoint;
|
||||
begin
|
||||
PopupMenuComponentEditor := GetComponentEditorForSelection;
|
||||
BuildPopupMenu;
|
||||
with ControlSelection do
|
||||
PopupPos := Point(Left + Width, Top);
|
||||
with Form.ClientToScreen(PopupPos) do
|
||||
FDesignerPopupMenu.Popup(X, Y);
|
||||
end;
|
||||
|
||||
procedure TDesigner.GetMouseMsgShift(TheMessage: TLMMouse;
|
||||
var Shift: TShiftState; var Button: TMouseButton);
|
||||
begin
|
||||
@ -2539,9 +2552,8 @@ begin
|
||||
FOnGetSelectedComponentClass(Self,Result);
|
||||
end;
|
||||
|
||||
function TDesigner.IsDesignMsg(Sender: TControl;
|
||||
var TheMessage: TLMessage): Boolean;
|
||||
Begin
|
||||
function TDesigner.IsDesignMsg(Sender: TControl; var TheMessage: TLMessage): Boolean;
|
||||
begin
|
||||
Result := false;
|
||||
if csDesigning in Sender.ComponentState then begin
|
||||
Result:=true;
|
||||
@ -2560,6 +2572,7 @@ Begin
|
||||
LM_ACTIVATE: Result:=OnFormActivated;
|
||||
LM_CLOSEQUERY: Result:=OnFormCloseQuery;
|
||||
LM_SETCURSOR: Result:=HandleSetCursor(TheMessage);
|
||||
LM_CONTEXTMENU: HandlePopupMenu(Sender, TLMMouse(TheMessage));
|
||||
else
|
||||
Result:=false;
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user