Инициализация программного приложения

Некоторые приложения могут выполнить эти задачи, когда вы запускаете их:

  • Задайте значения по умолчанию

  • Установите значения свойства компонентов пользовательского интерфейса

  • Входные параметры процесса

  • Скройте окно рисунка, пока все компоненты не будут созданы

Когда вы разрабатываете приложение, рассматриваете собирание в группу этих задач в вашем файле кода. Если задача инициализации включает несколько шагов, рассмотрите создание отдельной функции для той задачи.

Примеры

Объявление переменных для аргументов ввода и вывода

Это типичные объявления для аргументов ввода и вывода.

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. Таким образом можно также использовать это свойство сделать отдельные компоненты невидимыми.

Возврат Вывода пользователю

Если ваша программа позволяет выходной аргумент, и пользователь задает такой аргумент, то вы хотите возвратить ожидаемый выходной параметр. Код, который предоставляет этот вывод обычно, появляется непосредственно перед тем, как основная функция программы возвращается.

В примере, показанном здесь,

  1. Вызов выполнения блоков uiwait до uiresume называется, или текущая фигура удалена.

  2. В то время как выполнение блокируется, пользователь создает значок.

  3. Когда пользователь нажимает OK, что коллбэк кнопки вызывает функцию uiresume.

  4. Программа возвращает завершенный значок в пользователя, как выведено.

    % 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 содержит дополнительные выходные аргументы, возвращенные программой. Смотрите полный файл кода Редактора иконок для получения дополнительной информации.

Похожие темы