24小时热门版块排行榜    

查看: 955  |  回复: 1

DRAGONZXD

新虫 (初入文坛)

[求助] MATLAB gui 下拉菜单的实现

求助!
现在有三个单选按钮,想改成一个下拉菜单实现。

单选按钮部分的程序:
Rs1=uicontrol(FigureHandle,'Style','radio','unit','pixels',...
    'Position',[TextXP(2),TextYP(2),140,TextHeight],...
    'String','situation1', 'Value',InputData.Type(1),'Tag','Type1',...
    'CallBack',['set(findobj(''Tag'',''Type1''),''Value'',1);'...
    'set(findobj(''Tag'',''Type2''),''Value'',0);'...
    'set(findobj(''Tag'',''Type3''),''Value'',0);'],...
    'fontsize',12,'BackgroundColor', BackColor{2});
Rs2=uicontrol(FigureHandle,'Style','radio','unit','pixels',...
    'Position',[TextXP(2),TextYP(2),140,TextHeight],...
    'String','situation2', 'Value',InputData.Type(2),'Tag','Type2',...
    'CallBack',['set(findobj(''Tag'',''Type1''),''Value'',1);'...
    'set(findobj(''Tag'',''Type2''),''Value'',0);'...
    'set(findobj(''Tag'',''Type3''),''Value'',0);'],...
    'fontsize',12,'BackgroundColor', BackColor{2});
Rs2=...(类似)

改成:
Rs1=uicontrol(FigureHandle,'Style','popup','unit','pixels',...
    'Position',[TextXP(2),TextYP(2),100,TextHeight],...
    'String','situation2|situation2|situation3',...
    'CallBack',@SetTag,'fontsize',11,'BackgroundColor', BackColor{3});

定义的SetTag函数:
function SetTag(h,event,data)
% Called when user activates popup menu
val = get(h,'Value');
if val==1
   set(findobj('Tag','Type1'),'Value',1);
   set(findobj('Tag','Type2'),'Value',0);
   set(findobj('Tag','Type3'),'Value',0);
elseif val==2
   set(findobj('Tag','Type1'),'Value',0);
   set(findobj('Tag','Type2'),'Value',1);
   set(findobj('Tag','Type3'),'Value',0);
elseif val==3
   set(findobj('Tag','Type1'),'Value',0);
   set(findobj('Tag','Type2'),'Value',0);
   set(findobj('Tag','Type3'),'Value',1);
end

现在能显示下拉菜单,也可以选择,但是Value部分赋值给InputData.Type该怎么弄,不会写啊,求教!
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

绝望的蜗牛

金虫 (小有名气)

2楼2015-09-17 12:45:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 DRAGONZXD 的主题更新
信息提示
请填处理意见