Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИС-лабраб-методичка.doc
Скачиваний:
19
Добавлен:
06.02.2016
Размер:
534.02 Кб
Скачать

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

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

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

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

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

Рис. 9. Добавление полосы скроллинга

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

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

Рис. 10. Ввод значений Sliderstep

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

function varargout = scrWidth_Callback(hObject, eventdata, handles, varargin)

% Получение ширины линии в зависимости от положения бегунка на полосе скроллинга

width=get(hObject, 'Value');

%установка толщины линии

set(handles.line, 'LineWidth', round(width))

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ

Задание 1. Устраните самостоятельно некоторые недостатки интерфейса. Полоса скроллинга должна быть недоступной после очистки осей кнопкой Очистить, построение графика при помощи Построить произведите с учетом установленной ширины линии.

Библиографический список

  1. Ануфриев И.Е. Самоучитель MatLab 5.3/6.x -СПб.: БХВ-Петербург, 2002. –736 с.: ил.

  2. Дьяконов В.П. MatLab 6.5 SP1/7.0 Simulink 5/6 в математике и моделировании. –М.: СОЛОН-Пресс, 2005. –576с.: ил.

  3. К.Лавров, Т.Цыплекова. Финансовая аналитика. MatLab 6. –М.: Диалог-Мифи, 2001.-416с.

  4. Цисарь И.Ф., Крыкин М.А.. MatLab_Simulink. Лаборатория экономиста. - М.:Анкил, 2001. – 104 с.

40