Учебное пособие: Создание графического интерфейса пользователя
else
% Флаг выключен, следует убрать линии сетки
set(gca, 'XGrid', 'off')
end
% Проверка флага сетка по х
if get(handles.chbxGridY, 'Value')
% Флаг включен, следует добавить линии сетки
set(gca, 'YGrid', 'on')
else
% Флаг выключен, следует убрать линии сетки
set(gca, 'YGrid', 'off')
end
% Кнопка Построить должна стать недоступной после вывода графика
set(hObject, 'Enable', 'off')
% Кнопка Очистить должна стать доступной
set(handles.btnClear, 'Enable', 'on')
Флаги предоставляют пользователю возможность выбора одной или сразу нескольких опций. Одновременный выбор только одной опции осуществляется при помощи переключателей.
Переключатели
Переключатели обычно группируются по их предназначению, и пользователь может выбрать только одну опцию. Всегда установлен единственный переключатель из группы. Обработка событий переключателя должна влиять на состояние остальных переключателей всей группы. Модернизируйте интерфейс приложения mygui, предоставьте пользователю возможность выбирать тип маркера (кружок, квадрат или отсутствие маркера).
Добавьте в окно приложения новую рамку и нанесите на нее три переключателя, установите свойствам Tag значения rbMarkcirc, rbMarkSq, rbMarkNone, a String - маркеры-круги, маркеры-квадраты, без маркеров соответственно (рис. 6).
Состояние переключателя определяется его свойством value: если value равно единице, то переключатель включен, ноль - нет. Задайте в редакторе свойств значение 1 свойству value переключателя с надписью без маркеров, он будет включен при запуске программы. Значение свойства Value в версии MatLab 6.x устанавливается следующим образом. Выделите переключатель и перейдите к его свойствам. В редакторе свойств нажмите кнопку в строке с Value. Появляется окно Value, изображенное на рис. 7.
Выделите при помощи мыши строку со значением 0.0 и перейдите в режим редактирования значения двойным щелчком мыши. Измените 0.0 на единицу и нажмите ОК. Обратите внимание, что в редакторе свойств значение Value изменилось на единицу, и включился переключатель без маркеров на окне приложения в редакторе приложений. Вышеописанным образом устанавливаются значения Value в редакторе свойств. Дальнейшее управление значением Value переключателей должно осуществляться программно в ходе работы приложения mygui.
Листинг 6. Выбор типа маркеров
function btnPlot_Callback(hObject, eventdata, handles)
% Построение графика функции
x=[-2:0.2:2];
y=exp(-x.^2);
handles.line = plot (x,y)
guidata(gcbo,handles)