如何对treeview控件的每一个不同level的条目建立不同的弹出式菜单?(100分)

  • 主题发起人 主题发起人 chinasea
  • 开始时间 开始时间
C

chinasea

Unregistered / Unconfirmed
GUEST, unregistred user!
如何动态的对treeview控件的每一个不同level的条目建立不同的弹出式菜单?
只有treeview控件有鼠标事件,我又如何才能对不同level的条目建立不同的弹出式菜单?
我的编程思路如下:
if button=mbright
do case selected.level
case level1
popmenu1
case level2
popmenu2
enddo
endif
如何保存程序中动态添加的子条目?使下次运行时能显示出上次添加的条目。
 
case 1:treeView1.popupmenu:=popmenu1;
case 2:treeView1.popupmenu:=popmenu2;
不就成了
至于下个问题,可以把改动写入文件
 
procedure TMainForm.TreeView1ContextPopup(Sender: TObject; MousePos: TPoint;
var Handled: Boolean);
//TreeView1 中的弹出式菜单切换
var
MyHitTest:THitTests;
Point:TPoint;
begin
CurrentNode := TreeView1.Selected;
GetCursorPos(Point);
Point := TreeView1.ScreenToClient(Point);
MyHitTest := TreeView1.GetHitTestInfoAt(Point.x,Point.y);
if (htNowhere in MyHitTest) then
TreeView1.PopupMenu := nil
else
begin
case CurrentNode.Level of
0:
TreeView1.PopupMenu := PopupMenu1;
1:
TreeView1.PopupMenu := PopupMenu2;
2:
TreeView1.PopupMenu := PopupMenu3;
3:
TreeView1.PopupMenu := PopupMenu4;
4:
TreeView1.PopupMenu := PopupMenu5;
end;
end;

只能放在文件 中了
 
多人接受答案了。
 
后退
顶部