- 为每个6开关提供一个独特的名称或标签(见下图)。
- 分配相同的回调函数对所有6开关。
- switch-callback内部函数,您可以使用的输入来确定哪个开关被激活基于uniqe名称/标记。event.Source.Tag
- 添加一个私有财产应用程序命名为“ActiveSwitch”(您可以重命名)。
- 一个开关,默认应该和其他人应该了。这可以通过设计模式或从内部DesignView或在应用程序的启动功能。复制标签的切换到ActiveSwitch财产。
- 开关被激活时,回调函数会关掉其他5个开关和将更新ActiveSwitch属性与开关的标签。这个属性将跟踪开关处于活动状态(请参见下面的代码)。
- 做策划的时候,就使用标记存储在ActiveSwitch来确定使用哪个轴。
选择一个的多个UIAxes显示它在特定的位置
2视图(30天)
显示旧的评论
接受的答案
亚当Danz
2021年6月10日
编辑:亚当Danz
2021年6月14日
情节适用于所选的轴
填写一个示例应用程序。它只包含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),“价值”,“关闭”)
结束
如何分配标签切换:
扩大选择的轴
我不完全理解这一部分,“…
显示UIAxes定义位置稍微比右边大
”。你有试过更新属性轴位置?