标题:[求助]GUI界面中Popup Menu控件怎样设置
只看楼主
snowrainbow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-5-13
 问题点数:0 回复次数:7 
[求助]GUI界面中Popup Menu控件怎样设置

请教各位:我的popup menu下设置了三个功能,依次是均匀加权、自适应加权、切比雪夫加权,而另一组button group 中的两个按钮分别是均匀线列阵和任意型基阵,我要实现的是均匀线列阵这三种加权都在可选状态,而任意型基阵只能选择均匀加权和自适应加权,切比雪夫加权不可选,这个要怎么设置啊?
我之前有试过判断均匀线列阵被选中时执行一种操作(三种加权都可选),选择了任意型基阵时执行一种操作,使用的是if get(findobj('Tag','junyunxianliezhen'),'Value')==1
switch val
case 1...

不过连错误在哪都找不着了。请指点

搜索更多相关主题的帖子: GUI Menu Popup 控件 界面 
2007-06-01 16:01
leki
Rank: 4
等 级:贵宾
威 望:10
帖 子:236
专家分:0
注 册:2007-4-15
得分:0 
在popup menu里边你也想实现把一个字符串“变为灰色不可用状态”?这个似乎不行吧?
建议考虑一下动态设置字符串,就是选择“均匀线列阵”时,把“切比雪夫加权”加到popup menu的“string”里,而选另一个时,就不加。期待更好的建议

常见的GUI编程问题与解答 http://bbs./dispbbs.asp?boardid=216&id=148781&star=1#148781
2007-06-01 18:50
snowrainbow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-5-13
得分:0 
可是就我所知道的这点知识,popup menu里string是试先写好的,我就是先写好了均匀加权、切比雪夫加权、自适应加权的,这个在m文件里也可以改吗?是重set它的 string??我先试试,谢谢你!

2007-06-02 09:35
snowrainbow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-5-13
得分:0 
我不会设置动态的string,以前没碰到过设置string,不知道设置它的格式是怎么样的呢?应该和value enable的格式不一样吧,我试了这种格式不行,请大家指点

2007-06-02 11:32
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
得分:0 
set( PopupMenuHandle, 'String', {'均匀加权','自适应加权','切比雪夫加权'} ) ;或者
set( PopupMenuHandle, 'String', '均匀加权|自适应加权|切比雪夫加权' ) ; 都可以

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2007-06-02 16:29
snowrainbow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-5-13
得分:0 
试了你的办法,为什么有这样的错误提示呢?
switch val
Warning: popupmenu control requires that Value be an integer within String range
Control will not be rendered until all of its parameter values are valid.
这是什么意思啊?请教各位

2007-06-02 20:06
zhangenter
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:390
专家分:0
注 册:2006-6-5
得分:0 
因为你没有更新popupmenu的value,popupmenu的value值一定要是从1到选项个数,如果你设置的value不在这范围就会报那错,
我想大概是你在有三个选项的时候设置了value为3或选择了第三个,当把选项变为两个的时候没有去设置value才出那错的

OldHandle = findobj( \'Name\', \'悲伤\' ) ;if ~isempty(OldHandle),delete(OldHandle) ;end for Time = \'现在\':\'每一天\':\'永远\',set( gco, \'心情\', \'快乐\');end % 这段代码为你天天快乐而存在
2007-06-02 22:33
snowrainbow
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2007-5-13
得分:0 

谢谢你的启发,功能是免强实现了,不过还有待深入研究,好像也不是那个问题,谢谢你!


2007-06-03 14:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-144095-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.648154 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved