Главы     1     2     3     4     5     6     7     8     9     10     11     12     13     14     15     16     17     18   

Создание динамически обновляемых окон диалога 2


Разработать функции обработки.

Для рассматриваемого примера функция call_back_freq (файл call_back_freq.m) выглядит следующим образом:

 

Freq_param=get_param(gcb,'Internal_freq'); %

 

Присвоение переменной Freq_param значения % параметра Internal_freq (тип источника % сигнала задания на частоту: внутренний или % внешний).

Параметр Internal_freq является % вторым в списке параметров окна диалога. if strcmp(Freq_param,'on');

% Если значение переменной Freq_param есть 'on' % (внутренний источник сигнала задания на частоту), то enable={'on','on','on','on','on'}; % всем элементам вектора enable присваиваются % значения равные 'on' (все параметры окна диалога % должны быть активны).

else;

 % Если значение переменной Freq_param не равно 'on' % (внешний источник сигнала задания на частоту), то enable={'on','off','on','on','on'}; % второму элементу вектора enable пРисунокваивается % значение 'off' (второй параметр должен быть не % активным).

end;

% Завершение конструкции if … else set_param(gcb,'MaskEnables',enable);

% Присвоение параметру маскированной подсистемы % MaskEnables значения вектора enable. % Параметр MaskEnables устанавливает режим % активности параметров окна диалога маскированной % подсистемы.

Функция проверяет значение параметра Internal_freq. Если значение этого параметра есть 'on', то вектор enable имеет все элементы равные 'on', если же значение параметра Internal_freq равно 'off' (используется внешний источник сигнала задания на частоту), то второй элемент вектора enable имеет значение 'off' и функция set_param(gcb,'MaskEnables',enable); сделает не активной графу для ввода второго параметра (частота внутреннего источника).

Функция call_back_magn (файл call_back_magn.m) выглядит следующим образом:

Magn_param=get_param(gcb,'Internal_magn');

% Присвоение переменной Magn_param % значениЯ параметра Internal_magn (тип % источника сигнала задания на амплитуду: % внутренний или внешний). % Параметр Internal_magn является пятым % в списке параметров окна диалога.

if strcmp(Magn_param,'on');

% Если значение переменной Magn_param есть 'on' % (внутренний источник сигнала задания на амплитуду),

visible={'on','on','on','on','on'}; % то всем элементам вектора visible присваиваются % значения равные 'on' (все параметры окна диалога % должны быть видимы).

else;

% Если значение переменной Magn_param не равно 'on' % (внешний источник сигнала задания на на амплитуду), то visible={'on','on','on','on','off'}; % пятому элементу вектора visible присваивается % значение 'off' (пятый параметр окна диалога должен % быть невидимым).

end; % Завершение конструкции if ... else set_param(gcb,'MaskVisibilities',visible);

% Присвоение параметру маскированной подсистемы % MaskVisibilities значения вектора visible.

% Параметр MaskVisibilities устанавливает режим % видимости параметров окна диалога маскированной % подсистемы.

Функция проверяет значение параметра Internal_magn. Если значение этого параметра есть 'on', то вектор visible имеет все элементы равные 'on', если же значение параметра Internal_magn равно 'off' (используется внешний источник сигнала задания на амплитуду), то пятый элемент вектора visible имеет значение 'off' и функция set_param(gcb,'MaskVisibilities',visible); сделает не отображаемой графу для ввода пятого параметра (амплитуда внутреннего источника).