Да, вы можете изменить значки панели инструментов фигуры или добавить свои собственные.
Я подробно рассказал о том, как изменить значок ниже, а также о других полезных вещах, связанных спанель инструментов, пока вы редактируете свойства.
Подробнее см. комментарии к коду.
Получите объект панели инструментов
% Initialise some figure
fig = figure( 'Name', 'MyApp', 'NumberTitle', 'off' )
% Get the figure toolbar handle
tbar = findall( fig, 'tag', 'FigureToolBar' );
Выможно сделать findall(tbar)
, чтобы перечислить названия всех кнопок
Скрытие кнопок
Допустим, вы хотите скрыть кнопку «новая фигура»:
% Get the button from the tbar object
btn = findall( tbar, 'tag', 'Standard.NewFigure' )
% Set to not visible
set( btn, 'Visible', 'off' );
Изменение обратных вызовов
Допустим, вы хотите, чтобы кнопка печати запускала обратный вызов с предварительным просмотром печати вместо прямой печати (вы можете назначить любую пользовательскую функцию обратного вызова любомукнопка):
% Get the button again
btn = findall( tbar, 'tag', 'Standard.PrintFigure' );
% Change the callback (and the tooltip to match)
set( btn, 'ClickedCallback', 'printpreview(gcbf)', ...
'TooltipString', 'Print preview' );
Изменение значка
На этом этапе вы можете видеть, что все атрибуты кнопки доступны для редактирования, включая изображение в соответствии с исходным вопросом.
В частности, просто измените свойство CData
:
% Update the print button to have a print preview icon
% This should be a 16*16 RBG image matrix, use imread to get from file
img = imread( 'printpreview.bmp' )
% Assign CData property to button already acquired
set( btn, 'CData', img );
Вывод (я использовал случайный значок предварительного просмотра, виден 4-й слева):
Добавить новые кнопки
Вы можете добавить новые кнопки, просто создав uipushtool
объекты (со свойством CData, установленным для изображения значка) с родительским объектом tbar
.
Изменение разделителей
Вертикальные серые разделители можно добавлять или удалять (полезно для создания собственных групп кнопок или при удалении кнопок).Просто установите для свойства 'Separator'
значение 'off'
или 'on'
для разделителя в левой части кнопки.
Для скомпилированного приложения это может быть не так, как в MathWorks T & C, ноэто как не если вы сделаете это!