关于treeview控件的一个简单方法判断鼠标左右键
关于treeview用法,google一下是可以可以找到一些应用的,但关于左右键判断却好像没有介绍,自己试了一下,利用MouseDown和nodeclick两个方法来实现,MouseDown先获取左右键“值”,然后利用setappdata存储该值,在nodeclick方法里再用getappdata获取此致,并且判断点击的是哪一个node。function treeviewdemo()hf=figure('NumberTitle','off','name','TreeView演示','Position',,'menubar','none');
hfpos=get(hf,'position');
pos=;
axes('parent',hf,'position',);
h_tv=actxcontrol('MSComctlLib.TreeCtrl.2',pos,hf);
h_nodes=h_tv.Nodes;
h_node=h_nodes.Add;
h_node.Text='分析(一)';
h_node.Key='R1';
h_node.Expanded=true;
h_node(1)=h_nodes.Add('R1',4,'R1C1','分析');
h_node(2)=h_nodes.Add('R1C1',4,'R1C1C1','小波包分解');
h_node(3)=h_nodes.Add('R1C1',4,'R1C1C2','SOM神经网络');
h_node(4)=h_nodes.Add('R1C1',4,'R1C1C3','BP神经网络预测');
h_node(5)=h_nodes.Add('R1',4,'R1C2','分析');
h_node(6)=h_nodes.Add('R1C2',4,'R1C2C1','小波包分解');
h_node(7)=h_nodes.Add('R1C2',4,'R1C2C2','SOM神经网络');
h_node(8)=h_nodes.Add('R1C2',4,'R1C2C3','BP神经网络预测');
h_node=h_nodes.Add;
h_node.Text='分析(二)';
h_node.Key='R2';
h_node.Expanded=true;
h_node(9)=h_nodes.Add('R2',4,'R2C1','分析');
h_node(10)=h_nodes.Add('R2C1',4,'R2C1C1','小波包分解');
h_node(11)=h_nodes.Add('R2C1',4,'R2C1C2','SOM神经网络');
h_node(12)=h_nodes.Add('R2C1',4,'R2C1C3','BP神经网络预测');
h_tv.registerevent({'nodeClick' @nodeclick_event});
h_tv.registerevent({'MouseDown' @MouseDown_event});
function nodeclick_event(varargin)
%ev=varargin{end};
para=varargin{end-1};
t=0:10;
button=getappdata(gcf,'button');
switch button
case 1
switch para.Node.text
case 'SOM神经网络'
plot(t,t);
case 'BP神经网络预测'
plot(t,t.^2)
end
case 2
msgbox('yeah')
end
function MouseDown_event(varargin)
button=varargin{7}.Button;
switch button
case 1
setappdata(gcf,'button',1);
case 2
setappdata(gcf,'button',2);
end
我在官方网站上面看了看,应该有个uitree的函数,和uitreenode的函数是可以实现树形结构 还有一个办法,就是检测鼠标事件,figure的SelectionType属性,判断是左键还是右键。
uitree的功能确实比较强,有这些属性:
Class:
DndEnabled: 0
FigureComponent:
Model:
MultipleSelectionEnabled: 0
Position:
Root:
ScrollPane:
SelectedNodes: ]
Tree:
Units: 'pixels'
Visible: 1
NodeDroppedCallback: []
NodeDroppedCallbackData: []
NodeWillExpandCallback: []
NodeWillExpandCallbackData: []
NodeExpandedCallback: []
NodeExpandedCallbackData: []
NodeWillCollapseCallback: []
NodeWillCollapseCallbackData: []
NodeCollapsedCallback: []
NodeCollapsedCallbackData: []
NodeSelectedCallback: []
NodeSelectedCallbackData: []
没有看到右键菜单怎么设置? 给大家看一个我们做的目录树的效果,供参考。
页:
[1]