mulan 发表于 2006-12-19 21:05

关于listbox

我在gui上放置了几个listbox
为什么在m文件有些listbox的callback函数就会随着tag属性的设置自动更改
而有些tag改了,callback函数就还是默认的listbox3_Callback这样子不变呢
如果我手动改变的话会出错
请指教,谢谢!

eight 发表于 2006-12-21 11:51

原帖由 mulan 于 2006-12-19 21:05 发表
我在gui上放置了几个listbox
为什么在m文件有些listbox的callback函数就会随着tag属性的设置自动更改
而有些tag改了,callback函数就还是默认的listbox3_Callback这样子不变呢
如果我手动改变的话会出错
请指 ...


这个恐怕涉及fig文件和m文件的一些底层问题,我不懂。你的问题我也遇到过,不过在高版本的matlab中,基本上还是自动修改的,通常我修改完tag属性后会首先看看属性callback那里(不是m文件,是那个property)是否已经相应修改了,如果是,则表示matlab已经自动修改成功,m文件中所有对应这个属性的句柄不用自动修改,否则,先修改属性callback那里,然后再在m文件中查找、替换就可以了

mulan 发表于 2006-12-21 14:51

我现在用的就是matlab2006a,还是有不能自动更改的问题,不太清楚。
另外请教一个问题:运行的时候点击listbox的上下箭头可以看到显示内容变了,但是代码里获取到的value值并不变,需要在listbox上单击一下才能变,这样如果我不忘了单击就很容易导致运行的结果不对,请问有什么方法吗?

eight 发表于 2006-12-22 11:05

原帖由 mulan 于 2006-12-21 14:51 发表
我现在用的就是matlab2006a,还是有不能自动更改的问题,不太清楚。
另外请教一个问题:运行的时候点击listbox的上下箭头可以看到显示内容变了,但
是代码里获取到的value值并不变,需要在listbox上单击一下才能变 ...

这个问题我没有遇到过,我手头上没有matlab,测试不到,过两天我再试试吧

eight 发表于 2006-12-24 22:30

原帖由 mulan 于 2006-12-21 14:51 发表
我现在用的就是matlab2006a,还是有不能自动更改的问题,不太清楚。
另外请教一个问题:运行的时候点击listbox的上下箭头可以看到显示内容变了,但是代码里获取到的value值并不变,需要在listbox上单击一下才能变 ...


你的意思是点击listbox的右侧滚动条的上下箭头?这个当然只会导致“显示内容”的变化,而不会导致“用户选择”的变化。用户选择哪个记录理应不受滚动的影响

mulan 发表于 2006-12-25 10:12

哦,我明白了,多谢!
页: [1]
查看完整版本: 关于listbox