前言
Matlab 建模有时因各种原因,拿到的模型是五颜六色的,为了便捷的统一前景色和背景色,我开发了此工具。
思路:
1.获取当前打开模型的最顶层;
2.用find_system来查找所有的block;(思维更开阔一点,可以获取更多想要找的对象)
3.用for循环将每一个Block的'ForegroundColor'、'BackgroundColor'参数设定为指定颜色。
核心代码
% Button pushed function: PaintBlockButton
function PaintBlockButtonPushed(app, event)
model = bdroot; %获取当前打开模型的顶层
% 获取模型中所有的blocks
blocks = find_system(model, 'SearchDepth', 9 'Type', 'Block');
% 更改所有block的前景颜色为黑色,背景颜色为白色
for i = 1:length(blocks)
set_param(blocks{i}, 'ForegroundColor', app.Color_Fore);
set_param(blocks{i}, 'BackgroundColor', app.Color_Back);
end
end
% Menu selected function: DefaultColorMenu
function DefaultColorMenuSelected(app, event)
app.Color_Fore = 'Black';
app.Color_Back = 'White';
end
进一步地,可以根据自己需要设置SearchDepth,详情参见matlab help文档;
进一步讲,可以再设置很多其它color,丰富背景色和前景色的选择范围。