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

Листинг 8. Изменение толщины линии

function scrWidth_Callback(hObject, eventdata, handles)

% Получаем текущее значение value скроллбара

w = get(hObject,'Value');

% Устанавливаем в качестве толщины линии округленное значение value set(handles.line,'LineWidth',round(w));

Область ввода текста

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

Добавьте в окно приложения область ввода текста, установите значение editTitle свойству Tag области ввода и снабдите ее пояснением в текстовой области, расположенной выше так, как показано на рис. 12. В редакторе свойств удалите из String строку Edit Text, для чего нажмите кнопку в строке с названием свойства и сотрите текст в окне String.

Листинг 9. Изменение заголовка графика

function btnPlot_Callback(hObject, eventdata, handles)

%

% Операторы, отвечающие за построение графика и т.д.

%

title(get(handles.editTitle,'String'))

Рис. 12. Окно с областью ввода текста

Диалоговые окна и меню приложения

Виды диалоговых окон

Удобный интерфейс приложения во многом определяется диалоговыми окнами, облегчающими работу с файлами, или предназначенными для предостережения пользователя о событиях, которые могут повлечь его действия. MatLab предоставляет разработчику приложения возможность использовать стандартные диалоговые окна Windows.

Окно подтверждения

Некоторые действия приложения требуют повторного подтверждения пользователя. Например, пользователь приложения mygui может случайно нажать кнопку Очистить, предназначенную для очистки осей. Следует вывести диалоговое окно, в котором пользователь укажет, действительно ли требуется очистить оси.

Диалоговое окно подтверждения создается функцией questdlg, которая в самом простом случае имеет два входных параметра - строки с текстом внутри диалогового окна и заголовком окна. Окно, создаваемое таким образом, имеет три кнопки - Yes, No и Cancel. Выбор пользователя возвращается в строковом выходном аргументе функции questdlg, его значение совпадает с надписью на кнопке.

Усовершенствуйте обработку нажатия кнопки Очистить так, чтобы соответствующие операторы выполнялись только в том случае, если пользователь нажал кнопку Yes в появляющемся диалоговом окне с текстом Очистить оси? и заголовком mygui. Используйте условный оператор if и функцию strcmp для сравнения выходного аргумента questdlg со строкой Yes (листинг 6).

Листинг 10. Программирование диалогового окна запроса

button = questdlg('Очистить оси?','mygui');

if strcmp(button, 'Yes')

% здесь размещаются все операторы,

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