Некоторые приложения могут выполнить эти задачи, когда вы запускаете их:
Задайте значения по умолчанию
Установите значения свойства компонентов пользовательского интерфейса
Входные параметры процесса
Скройте окно рисунка, пока все компоненты не будут созданы
Когда вы разрабатываете приложение, рассматриваете собирание в группу этих задач в вашем файле кода. Если задача инициализации включает несколько шагов, рассмотрите создание отдельной функции для той задачи.
Это типичные объявления для аргументов ввода и вывода.
mInputArgs = varargin; % Command line arguments mOutputArgs = {}; % Variable for storing output
Смотрите страницу с описанием varargin
для получения дополнительной информации.
Этот пример задает свойства в массиве ячеек, mPropertyDefs
, и затем инициализирует свойства.
mPropertyDefs = {... 'iconwidth', @localValidateInput, 'mIconWidth'; 'iconheight', @localValidateInput, 'mIconHeight'; 'iconfile', @localValidateInput, 'mIconFile'}; mIconWidth = 16; % Use input property 'iconwidth' to initialize mIconHeight = 16; % Use input property 'iconheight' to initialize mIconFile = fullfile(matlabroot,'toolbox/matlab/icons/'); % Use input property 'iconfile' to initialize
Каждая строка массива ячеек задает одно свойство. Это задает, по порядку, имя свойства, стандартная программа, которая называется, чтобы подтвердить вход и имя переменной, которая содержит значение свойства.
Функция fullfile
создает полное имя файла из частей.
Следующие операторы запускают приложение Редактора иконок. Первый оператор создает новый значок. Второй оператор открывает существующий файл значка для редактирования.
cdata = iconEditor('iconwidth',16,'iconheight',25) cdata = iconEditor('iconfile','eraser.gif');
iconEditor
вызывает стандартную программу, processUserInputs
, во время инициализации, чтобы выполнить эти задачи:
Идентифицируйте каждое свойство путем соответствия с ним к первому столбцу массива ячеек
Вызовите стандартную программу, названную во втором столбце, чтобы подтвердить вход
Присвойте значение переменной, названной в третьем столбце
Когда вы создаете окно рисунка, сделайте его невидимым, когда вы создаете его. Отобразите его только после того, как вы добавите все компоненты пользовательского интерфейса.
Чтобы сделать окно невидимым, установите фигуру свойство Visible
на 'off'
, когда вы создадите фигуру:
hMainFigure = figure(... 'Units','characters',... 'MenuBar','none',... 'Toolbar','none',... 'Position',[71.8 34.7 106 36.15],... 'Visible','off');
После того, как вы добавите все компоненты в окно рисунка, сделайте фигуру видимой:
hMainFigure.Visible = 'on';
Большинство компонентов имеет свойство Visible
. Таким образом можно также использовать это свойство сделать отдельные компоненты невидимыми.
Если ваша программа позволяет выходной аргумент, и пользователь задает такой аргумент, то вы хотите возвратить ожидаемый выходной параметр. Код, который предоставляет этот вывод обычно, появляется непосредственно перед тем, как основная функция программы возвращается.
В примере, показанном здесь,
Вызов выполнения блоков uiwait
до uiresume
называется, или текущая фигура удалена.
В то время как выполнение блокируется, пользователь создает значок.
Когда пользователь нажимает OK, что коллбэк кнопки вызывает функцию uiresume
.
Программа возвращает завершенный значок в пользователя, как выведено.
% Make the window blocking. uiwait(hMainFigure); % Return the edited icon CData if it is requested. mOutputArgs{1} = mIconCData; if nargout>0 [varargout{1:nargout}] = mOutputArgs{:}; end
mIconData
содержит значок, который пользователь создал или отредактировал. mOutputArgs
является массивом ячеек, заданным, чтобы содержать выходные аргументы. nargout
указывает, сколько выходных аргументов пользователь предоставил. varargout
содержит дополнительные выходные аргументы, возвращенные программой. Смотрите полный файл кода Редактора иконок для получения дополнительной информации.