在ContextPopup事件中访问MousePos参数获得光标位置,然后GetNodeAt方法获得当前光标所在的节点,然后弹出相对应的菜单。
解决方案 »
- 请各位大哥看看,如何解决!
- 小妹初来乍到,请各位师哥门多多指教,问一个简单问题!!
- 关于OleContainer的问题,我急死了,解决,要多少分给多少分.
- 用Shell名字空间扩展技术能不能虚拟出一个盘符出来?
- 请高手翻译这段C程序为delphi可以用spcomm等控件+解决后再谢礼
- 有几个GROUPBOX页面,我想做的是从当前GROUPBOX页切换到另一页面时做点提示,但我不懂应该响应什么事件
- 帮我看看!急
- 菜鸟送分,如何实现程序启动时,打开不同的窗口。
- 棘手问题!如何让同类型的子窗体只创建一次?
- 还是关于importedconstraint的疑问,诸位大虾请进!
- TDataFile类型的文件中,如何删除指定的记录?
- 如何使radiogroup实现多选功能,有此类控件吗?
procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
HT : THitTests ;
p:string;
begin
with TreeView1 do
begin
HT:= GetHitTestInfoAt(X ,Y ) ;
if (button = mbRight) and (htOnRight in Ht)then
begin
treeview1.PopupMenu:=popupMenu1;//在这里,你可以给它动态的给TpopupMenu 或是再新建一个;
getNodeat(x,y).Selected;
P:='这是'+getNodeat(x,y).text+'结点的快捷菜单';
showmessage(p);
end else
treeview1.PopupMenu:=nil;
end;
end;