鼠标右健单击事件(100分)

  • 主题发起人 主题发起人 hejiesi
  • 开始时间 开始时间
H

hejiesi

Unregistered / Unconfirmed
GUEST, unregistred user!
为什么delphi没有OnMouseRightButtonClick Event(鼠标右健单击事件),
怎样实现这个事件。
怎样实现在Treeview中只有击中一个Treenode时才弹出PopUpMenu。
 
可在OnMouseUp或者OnMouseDown里面判断
有TMouseButton Button参数
 
又来晚了,在OnMouseClick参数中有一个MouseType,判断一下
是mbRight就可以了
 
在TreeView的OnMouseDown中
if (TreeView1.GetNodeAt(x,y) <> nil) and (Button =mbRight) then
...........

 
至于第二个问,由于popupmenu已经限定是右键响应,不须判断,
code如下:

procedure TForm1.TreeView1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var myitem:ttreenode;
begin
myitem:=treeview1.getnodeat(x,y);
treeview1.selected:=myitem;
if myitem.text ='treenode' then
treeview1.popupmenu:=popupmenu1
else
treeview1.popupmenu:=nil;
end;
 
多人接受答案了。
 
后退
顶部