- 积分
- 15
- 注册时间
- 2006-7-17
- 仿真币
-
- 最后登录
- 1970-1-1
|
关于treeview用法,google一下是可以可以找到一些应用的,但关于左右键判断却好像没有介绍,自己试了一下,利用MouseDown和nodeclick两个方法来实现,MouseDown先获取左右键“值”,然后利用setappdata存储该值,在nodeclick方法里再用getappdata获取此致,并且判断点击的是哪一个node。- function treeviewdemo()
- hf=figure('NumberTitle','off','name','TreeView演示','Position',[300 300 500 300],'menubar','none');
- hfpos=get(hf,'position');
- pos=[0 hfpos(2)*0.02 hfpos(3)*0.3 hfpos(4)*0.98];
- axes('parent',hf,'position',[0.4 0.1,0.6 0.8]);
- 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
复制代码
|
评分
-
1
查看全部评分
-
|