procedure TreeViewMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var HT: THitTests; P_X,P_Y: Integer; begin if Button=mbRight then with TreeView do begin HT:=GetHitTestInfoAt(X,Y); if htOnItem in HT then begin Selected:=GetNodeAt(X,Y); P_X:=X+Panel2.Left; P_Y:=Y+Panel2.Top+26; PM_Tree.Popup(P_X,P_Y); end; end; end;
我有调试了一下发现TreeView是先弹出菜单后触发MouseDown事件,这怎么办???
我有调试了一下发现TreeView是先弹出菜单后触发MouseDown事件,这怎么办???
你是怎么做的
MouseDown事件里为什么没有触发popup事件
你是怎么做的
MouseDown事件里为什么没有触发popup事件
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
HT: THitTests;
P_X,P_Y: Integer;
begin
if Button=mbRight then
with TreeView do
begin
HT:=GetHitTestInfoAt(X,Y);
if htOnItem in HT then
begin
Selected:=GetNodeAt(X,Y);
P_X:=X+Panel2.Left;
P_Y:=Y+Panel2.Top+26;
PM_Tree.Popup(P_X,P_Y);
end;
end;
end;
没有问题,第一次右击TreeView就可以出菜单你有什么特殊的设置么
不能设置popupmenu属性
要在mousedown事件里触发
不能设置popupmenu属性
要在mousedown事件里触发
用x,y来调整糖出位置