选择一个的多个UIAxes显示它在特定的位置

2视图(30天)
大家好!
我工作在一个应用程序设计师评估大型和不同的excel文件和策划各种变量。到目前为止我策划一个UIAxes和它工作得很好但现在我试图让用户选择一个六UIAxes他可以画出变量的地方。我想显示6小UIAxes右边我的应用程序和基于所选择的开关,它情节中的变量选择UIAxes和显示UIAxes定义位置稍微比右边大。
任何想法如何放大和显示所选UIAxes定义基于位置选择开关?
UIAxes左边应该是右边的六UIAxes之一,基于六UIAxes上方的开关位置。

接受的答案

亚当Danz
亚当Danz 2021年6月10日
编辑:亚当Danz 2021年6月14日
情节适用于所选的轴
  1. 为每个6开关提供一个独特的名称或标签(见下图)。
  2. 分配相同的回调函数对所有6开关。
  3. switch-callback内部函数,您可以使用的输入来确定哪个开关被激活基于uniqe名称/标记。event.Source.Tag
  4. 添加一个私有财产应用程序命名为“ActiveSwitch”(您可以重命名)。
  5. 一个开关,默认应该和其他人应该了。这可以通过设计模式或从内部DesignView或在应用程序的启动功能。复制标签的切换到ActiveSwitch财产。
  6. 开关被激活时,回调函数会关掉其他5个开关和将更新ActiveSwitch属性与开关的标签。这个属性将跟踪开关处于活动状态(请参见下面的代码)。
  7. 做策划的时候,就使用标记存储在ActiveSwitch来确定使用哪个轴。
填写一个示例应用程序。它只包含4开关和显示了如何实现步骤1 - 6。
回调函数 SwitchValChange 被分配给所有开关:
%值改变功能:Switch1、Switch2 Switch3 Switch4
函数SwitchValChange(应用程序、事件)
值= event.Source.Value;
如果strcmpi(价值,“关闭”)
%的用户只能打开一个开关,他们不能关掉一个,
%时自动完成另一个开关被激活。
event.Source。值=“上”;
返回
结束
%更新活跃切换标签
app.ActiveSwitch = event.Source.Tag;
%关掉所有其他开关
switchHandles =[应用程序。Switch1、app.Switch2 app.Switch3 app.Switch4);
标签=得到(switchHandles,“标签”);
isActive = strcmpi(标签,event.Source.Tag);
集(switchHandles (~ isActive),“价值”,“关闭”)
结束
如何分配标签切换:
AssignTags
扩大选择的轴
我不完全理解这一部分,“… 显示UIAxes定义位置稍微比右边大 ”。你有试过更新属性轴位置?
2的评论

登录置评。

更多的答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!