Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 84
Текст из файла (страница 84)
Приведем простой пример. Выполним слелующую последовательность команд: » 0-цэмепц("Чаье!",'Моце!'); » 01 ц(пепцгц.'цаце'.'Ьогепс');02-ц(мепц(цг'Ьа'.'Йозз)ег'); » 011-ц(мепц(01.'Ь'.'зэОма'): В результате выполнения этих команд организуется окно, приведенное на рис. 16.8. Заметим, что имена свойств при формировании меню могут сокращаться до тех пор, пока это не препятствует их идентификации. Рис. 16.6. Пример использования иоманды ц)мепц Выведем полученные дескрипторы: ) » <О 01 02 Щц апз 7.8801е+ООХ 7.9000е+001 8.0000е+001 8,1000е+001 Знание дескрипторов необходимо для организации контекстного меню, которым сопровождается уже существующий графический объект.
Команда создания кон- текстного меню имеет вид О! ц!соптелтавпц('Ргор1'.Ча!1, 'Ргор2',Ча)2...) Программирование интерфейса и органиэация диалога 445 Здесь [)1 — дескриптор создаваемого меню, Ргор], ргор2, ... — его свойства, а Нв11, На!2,... — значения. Для получения списка свойств и назначений по умолчанию нужно выполнить команду дег(и)соп[ехсшепи). Воспользуемся примером с блуждающей кнопкой, разобранным выше.
Создадим контекстное меню, отметив единственное свойство — видимость меню: » ш-н1соп(ехткепи( Н)э1Ь)е",'оп'); и организуем два пункта меню: » ыэ1-шкепи(а1,' С .'Час'); ыэ2-о.кепи(о1,' С,'День' ): Наконец укажем, что контекстное меню связано с кнопкой (дескриптор кнопки Ь): » зеиЬ. 'Ь)Сопгехсшепи' ш1 ): Теперь при наведении курсора на кнопку и нажатии правой кнопки мыши будет появляться контекстное меню из двух пунктов, Чтобы при выборе этих пунктов выполнялись какнх-нибуль действия, слелует определить свойство СайЬас[(, то есть подготовить функции, которые будут реагировать на нажатие левой кнопки мыши. Ряд команл предоставляет интересные возможности для интерактивной работы, см. табл.
16.12. Таблица 1б.12. Команды интерактивной работы с графическими элементами Имя Назначение Определение координат посредствои мыши Перемещение прямоугольника посредством мыши Изменение размеров прямоугольника Выбор, перемещение, изменение размеров Ожидание нажатия клавиши или кнопки мыши Прекращение выполнение и ожидание команды на продолжение рабаты Возобновление выполнения д)орос огадгес( гЬЬох зе1ес(ланегею те назт(огЬнт(опргеээ о)на1( ш гезыэе » р)от([1 3 2]); По)о("оп"). [Х.Н,Во]-дзприт: Пять раз используем различные клавиши мыши и потом нажмем клавишу Епгег. Затем выведем интерактивно определенные точки на график, используя кружок, Остановимся лишь на команде интерактивного ввода координат по нажатии кла- виши мыши, имеющей следующий формат: [Х,Н,ВОТ]-д1прог(Н) Параметр н задает число вволимых точек, координаты помещаются в массивы х и Н, в массиве накапливается информация о нажатых при определении, точек клави- шах мыши или клавиатуры.
Если параметр и отсутствует, то точки будут вводить- ся, пока не будет нажата клавиша Еп1ег. Рассмотрим простой пример. Построим график и запустим команду интерактив- ного ввода точек: 446 Глава 16. Программирование в МАТЕАВ если была нажата левая клавиша мыши, и звезду — для правой клавиши. Полученный график с исходной ломаной и пятью точками » с)-11 по18о-1); р) ом Х1с1 ) . У (с1 ), ' о ' ) . сг=т) пщво-3); р) ос(Х1сг) .
У(сг), ™ ), приведен на рис. 16.9. 2.5 1.5 1 1.5 2 2.5 3 Рис. 16З. Пример нсоовьзованнв команда д)грос Для контроля выведем массивы координат: » Х=Х', Г-У', Во=во' Х 1.4608 2.5714 1,6774 2.1198 2.6544 У 2.5614 2.6784 1.7719 2 3450 1.3158 Во- 3 3 1 1 3 Интерактивная разработка графического интерфейса Коротко остановимся на инструментах графического интерфейса пользователя СБ1. Для поддержки визуальной реализации СШ в МАТ).АВ имеется среда СП113Е (СгарЫса1 Езег 1пгегГасе Е)ете!ортепг Епр)гопшепг), при помощи которой создается код на языке МАТ1.АВ.
Специальный редактор ВщОе Са))Ьаск ЕО)1ог подготавливает код, который выпольгяется прн нажатии клавиш. Для формирования пользовательского интерфейса имеется специальная утилита дэ)бе. Ручной способ задания элементов управления, рассмотренный выше, обеспечивает максимальный контроль над3троцессом разработки графического интерфейса. В то же время визуальное макетирование при помощи дщ г)е значительно ускоряет процесс размещения и компоновки управляющих элементов. Для этого используются пять основных средств, см.
табл. 16.12. В скобках даны названия соответствующих команд. Панель биЫе Еоптго1 Рапе1 можно вызвать командой дэ)6е или выбрав в меню Гйе командного окна пункт 5)аомг 601 Еауоцт Тоо1. По команде цот 0е на дисплее появляются два окна: графическое окно-заготовка и главное окно ццйе (см. рис. 16.10). В нижней части окна программы дц)де располагается перечень графических элементов, каждый элемент имеет специфическое графическое изображение и снабжен названием. При помощи мыши можно отбуксировать нужный элемент в окно-заготовку.
В средней части окна работа с алементами отражается появлением записей, Таблица 1б.13. Графические средства разработки интерфейса Назначение (команда) Имя В графическом окне организуем элементы оси (ахев), кнопку (рнэЬЬы!топ) и рам- ку (Егагпе), внутри которой поместим ползунок (з!!бег) и текст (1ех!), см. рис. 16.11. После размещения графических элементов вызовем редактор свойств бгарЬ!св Ргорег!у Еб!!ог. Это можно сделать, выбрав пункт меню Тоо(э графического окна, значок на панели ТЬе битт!е СопЕго! Рапе1 или дважды щелкнув мышью на выделенном элементе. В верхней части редактора свойств укажем редактируемый объект шсопсго1, выберем в средней части нужное свойство и сделаем надпись над ползунком в отдельном окне.
Нужные свойства теперь можно установить, выбирая в сред- ТЬе Ргорегту Еойог ТЬе бойе Сон!го! Рапе! ТЬе СайьасЕ Еб!тот ТЬе А!!пппгеп! Тоо! ТЬе Мело Ео!!ог Программирование интерфейса и организация диалога 447 Редактор свойств (оторвет!) Панель управления (дюсе) Редактор вызовов (сей!) Средство выравнивания (аГ1рп) Редактор меню ( пелагею !) Рис.
16.10. Панель управления (ТЬе оные гоп!го! Рапе!) 448 Глава 16. Программирование в МАТьАВ ней части свойство и редактируя его. Например, на рис. 16.12 выделено свойство '51ппд' нему присвоено значение 'Скорость'. Рис. 16Л1. Графическое окно Рис. авиа. Редактирование свойств (егармск Ргорегту Еойог) Список свойств графического окна с дескриптором Ь можно получить по команде деь(Ь). Пролистав список свойств, можно узнать значения, действующие по умолчанию. Внеся необходимые изменения и подготовив функции, которые будут выполняться при помощи вызова сайЬасй, можно закрыть утилиту дцЫе. Перед выходом из ди16е последует запрос о сохранении результатов работы в виде пт-файла на диске. В дальнейшем для модификации подготовленного графического окна нужно запустить этот файл на выполнение и затем вызвать команду дьй с)е.
Используя интерактивный способ оформления графического окна при помощи утилиты дц16е, надо иметь в виду следующее. Выравнивание элементов управления проще реализовывать вручную, задавая значения свойства Роа)стоп. Может оказаться сложным найти дескрипторы для созданных элементов.
Здесь можно использовать команду поиска объектов Впс)оЬ), но все-таки надежнее вручную описать все дескрипторы как глобальные переменные. Наконец, если характер задачи тре- протраииирование интерфейса и организация диалога 449 бует перестройки элементов управления в процессе работы программы, то ручной способ управления предпочтительнее. При написании элементов управления, использующих мышь, важным является свойство ВцггопРоитпйсо, которое имеется у всех графических объектов МАТВАВ.
Щелкнув мышью на объекте Вдше или ахея, можно изменить цвет фона, если выделен объект йпе, то можно изменить толщину и цвет линии. Для обработки щелчка мыши можно подготовить свои функции. Утилита ЯиЫе в МАТЮКАВ 6 В МАТ|АВ 6 под 'ттт)прои'з работа с дцйе в принципе не претерпела изменений, но сервисная часть значительно усовершенствована. При запуске команды дШ бе появляется графическое окно с меню и набором иконок для установки графических объектов (левая часть рисунка) и редактирования интерфейса (правая сторона верхнего ряда), а также ряда стандартных для%шс)очтз значков.
В этом окне происходит компоновка объектов. Представим простой пример подготовки графического интерфейса. На рис. 16.13 приведено окно, в котором введены три объекта: окно для вывода трафиков (объект ахея), список (объект (ВГЬох), кнопка (объект разЬЬО(соп). Рис. 16.13. Окно раэрабсекн трафнкескато интерфейса Чтобы установить объект, выделим соответствующую ему иконку, а затем укажем местоположение объекта в рабочем окне.
Расположение и размер легко интерактивно изменить, используя стандартные для тттт(Ыочтз способы растяжения-сжатия и перемещения. Для просмотра иерархии установленных объектов полезно использовать специальный ОЬ) ест Вготкзет (см. Рис. 16,14), из которого легко перейти к редактированию свойств нужного объекта. Рис. 16.16. Просмотр обаентов йе50 Глава 16. Программирование в МАТ1АВ Окно Рторетту 1пврестот предоставляет доступ к свойствам объектов создаваемого интерфейса.