From 2362674befc9b201480c2cc66020d83a928acd2f Mon Sep 17 00:00:00 2001 From: JianjunLiu Date: Mon, 8 May 2023 17:58:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=95=8C=E9=9D=A2=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 浼樺寲 --- funcext/tvclib/tcontrol.tsf | 2 +- funcext/tvclib/twincontrol.tsf | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/funcext/tvclib/tcontrol.tsf b/funcext/tvclib/tcontrol.tsf index 3c92b18..afb0ad8 100644 --- a/funcext/tvclib/tcontrol.tsf +++ b/funcext/tvclib/tcontrol.tsf @@ -1446,7 +1446,7 @@ type tcontrol = class(tcomponent) property OnSize:eventhandler read FOnSize write FOnSize; property OnMove:eventhandler read FOnMove write FOnMove; property OnMouseMove:eventhandler read FOnMouseMove Write FOnMouseMove; - property OnPopupMenu read FOnPopupMenu write FOnPopupMenu; + property OnPopupMenu:eventhandler read FOnPopupMenu write FOnPopupMenu; property OnMouseDown:eventhandler read FOnMouseDown write FOnMouseDown; {** @param(OnMouseMove)(function[TControl,TMMouse]) 鼠标移动回调函数 %% diff --git a/funcext/tvclib/twincontrol.tsf b/funcext/tvclib/twincontrol.tsf index f21b02a..fe4a67d 100644 --- a/funcext/tvclib/twincontrol.tsf +++ b/funcext/tvclib/twincontrol.tsf @@ -1911,6 +1911,16 @@ type TWinControl = class(tcontrol) if factivated and factivecontrol and ContainsControl(factivecontrol) then factivecontrol.SetFocus(); end end + function TrackPopupMenu(x,y); //弹出菜单 + begin + pp := PopupMenu; + if HandleAllocated() and pp and pp.HandleAllocated() then + begin + xy := ClientToScreen(x,y); + uf := TPM_LEFTALIGN .| TPM_TOPALIGN .| TPM_RIGHTBUTTON; + _wapi.TrackPopupMenu(PopupMenu.Handle,uf,xy[0],xy[1],0,self.Handle,nil); + end + end function Notification(ac,op);override; begin if op=opRecycling and ac=factivecontrol then