Учебное пособие: Создание графического интерфейса пользователя

Рис. 9. Окно String

Запустите mygui и убедитесь, что раскрывающийся список содержит требуемые строки. Выбор различных строк пока не приводит к изменению цвета линии - требуется запрограммировать событие Callback раскрывающегося списка.

Обработка события Callback раскрывающегося списка состоит в определении выбора пользователя и соответствующем изменении цвета линии. Свойство списка value содержит номер выбранной строки (строки списка нумеруются с единицы). Перейдите к подфункции pmColor_Callback и запрограммируйте обработку выбора цвета линии пользователем. Используйте оператор switch для установки цвета линии в зависимости от номера выбранной строки списка.

Листинг 7. Изменение цвета линии

function pmColor_Callback(hObject, eventdata, handles)

Num=get(hObject, 'Value');

switch Num

case 1

% Устанавливаем синий цвет линии

set (handles.line, 'Color','b');

case 2

% Устанавливаем красный цвет линии

set (handles.line, 'Color','r');

case 3

% Устанавливаем зеленый цвет линии

set (handles.line, 'Color','g');

end

Полосы скроллинга

Усовершенствуйте интерфейс приложения mygui, предоставив пользователю возможность устанавливать ширину линии при помощи полосы скроллинга. Добавьте полосу скроллинга в окно приложения и задайте название scrWidth в свойстве Tag полосы. Снабдите полосу скроллинга текстовым пояснением "Толщина линии" так же, как и раскрывающийся список (рис. 10).


Рис. 10. Окно с полосой скроллинга

Теперь следует определить соответствие между положением бегунка полосы и числовым значением свойства value.

Выполните следующие установки из редактора свойств.

1.В Mах занесите десять, а в Min - единицу. Свойства Mах и Min полосы скроллинга отвечают за границы значений, записываемых в value, при перемещении бегунка.

2.Определите начальное положение, записав в value единицу. Нажмите кнопку в строке с названием свойства и в появившемся окне Value измените значение на единицу.

3.Обратитесь к свойству Sliderstep. Его значением является вектор из двух компонентов, первый из которых определяет относительное изменение value при нажатии на кнопки со стрелками полосы скроллинга, а второй - при перетаскивании бегунка мышью. Следует установить значение [0.1 0.2] свойства Sliderstep для того, чтобы нажатие на кнопки полосы изменяло value на десять процентов, а щелчок мыши справа или слева от бегунка на двадцать. Раскройте строку Sliderstep щелчком мыши по знаку плюс слева от названия свойства и в появившихся строках х и у введите 0.1 и 0.2 (рис. 11).

Осталось запрограммировать событие Callback полосы скроллинга с именем scrWidth, которое состоит в задании ширины линии, равной округленному значению value. Перейдите к подфункции scrWidth_Callback и добавьте в ней оператор установки ширины линии

К-во Просмотров: 372
Бесплатно скачать Учебное пособие: Создание графического интерфейса пользователя