Brian_-_Matlab_R2007_s_nulya_33 (771739), страница 32
Текст из файла (страница 32)
Графический интерфейс пользователя !йкч1ки слева в окне модуля Еауоит Еойог (Редактор планировки) используются л.ш вставки различных типов объектов. Построение 001 (Графический интерфейс пользователя) производится сзедующим способом: вы щелкаете мышью на аной из кнопок, затем неремещаетс указатель мыши в требуемое место на сетке п пклкаете мышью снова, чтобы закрепить там обьект.
Чтобы увидеть, какому нп1у объектов соответствует каждзя кнопкз, перемещайте указзтель мыши по- 1ВЕ На Рис. 9.3 показано, как выглядит окно модуля Ьвуои1 Е<1)1ог (Редактор пла нировки) после размещения нескольких объектов и настройки их свой ств. Давайте рассмотрим создание объектов, составляющих графически) интерфейс. Два поля сверху, равно как и поле с названием 8е1 ах!в вса))пд (Задать масшта< осей), являются полями постоянного текста, с которыми пользователь интер фейса не сможет манипулировать. Чтобы создать каждое из них, мы сначал. щелкнули мышью на кнопке 81аде Твх1 (Постоянный текст) (одна из тех, что ел< ва от сетки, с надписью «ТХТ»), а затем щелкнули мышью в том месте на сетке где требуется добавить текст.
Далее, чтобы вставить в поле текст, мы открыл< диалог Ргоре<1у !пврве1ог (Инспектор свойств) и щелкнули на квадратной кнопк рядом с надписью 81г!пд (Строка); при этом открывается новое окно, которо содержит редактируемый текст по умолчанию. Наконец, мы изменили размер< каждого поля соответственно объему текста (щелкнуть мышью на углу и перст< шить указатель). Кнопки с названиями Р!о1 !8 (Начертить), СЬапде вх)в (!ш)1в (Изменить предел< осей) и С!еаг Ядцге (Очистить изображение) являются объектами типа Рцвй Вийе (Нажми кнопку). Эти кнопки создаются путем использования кнопки с надписьн «ОК».
Чтобы придать этим кнопкам одинаковый размер, мы сначала создали ог ну из них, а затем, после назначения размера, дважды ее дублировали, щелка правой кнопкой мыши на уже существующем объекте и выбирая команду Оцр!!еаз (Дублировать). Затем мы переместили кнопки на различные позиции и изме пили их текст тем же способом, как это делается для полей 81вдс Твх1 (Статич ный текст). Пустое поле в верхней части сетки — это поле Е<!)1 Тех1 (Редактирование текста) которое позволяет пользователю вводить текст. Мы создали его с помощьк кнопки с надписью «Е01Т«, а затем убрали текст по умолчанию, как делали эт< ранее. Под полем Е<(!1 Тех1 (Редактирование текста) находится большое поле Ахе< (Оси), похожее на поле, отображенное на Рис. 9.2, но с измененным размером Справа внизу находится кнопка Но!<! !в ОГР (Захват отключен), являющаяс< кнопкой типа Тодд(е Вийон (Кнопка-переключатель), которая создается с помо щью кнопки с надписью «ТС!.».
Для переключающих (включить-выключить команд вы могли бы также использовать йа<!!о Вцйоп (Селективная кнопка) ил< СЬве!<Ьох (Поле с флажком), которые обозначаются, соответственно, кнопками < изображениями точки и флажка. Наконец, поле справа, с надписью «е<(иа!« — зт< Рорцр Мепи (Открывающееся меню), кнопка которого в модуле ! ауои1 Е<!!1о (Редактор планировки) располагается справа под кнопкой Е<!!! Тех! (Редакти рование текста). Объекты Рорцр Мена (Открывающееся меню) и 0э1Ьох (Пол< списка) позволяют предоставить пользователю возможность выбора сред< нескольких параметров.
Глава 9. Графический интерфейс пользователя 167 Мы переместили, изменили размер и в большинстве случаев изменили свойства каждого объекта описанным выше способом. В случае с Рормр Мепи (Открывающееся меню), после того как была выбрана кнопка ЗЫпй (Строка) в Ргорег!у 1пврес(ог (Инспекгор свойств), мы ввели в появившееся окно три слова в три отдельные строки: ечпа1, поквге1 и ягрзеке. Использование нескольких строк необходимо, чтобы дать пользователю несколько вариантов выбора в объектах Рорир Мепи (Открывающееся меню) и 0в1Ьох (Поле списка), 1г Кроме заполнения вашего интерфейса рассмотренными выше обьектами вы мгг жете создать строку меню, используя Мепи Ег)йог (Редактор меню), который можно открыть, выбрав команду меню Тоо1в е Мепи Едйог (Инструменты е Редактор меню). Вы можете также использовать Мепи Ег111ог (Редактор меню), побы создавать контекстные меню для объекта; это меню, которое появляется, когда вы шелкаеге на объекте правой кнопкой мыши.
Чтобы научиться пользоваться мод)- лем Мепи Ыйог (Редактор меню), обратитесь к онлайновой документации для 0010Е (Среда разработки графического интерфейса пользователя). Мы также присвоили нашему интерфейсу название, которое будет отображаться в строке заголовка. Мы щелкнули мышью на фоновой сетке в Ьауои! Ед!1ог (Ревавтор планировки), чтобы выделить весь 001 (Графический интерфейс пользователя) (подобно объекту внутри него), и перешли в Ргорег1у 1пврес1ог (Инспек.гор свойств). Там мы изменили текст в поле «Мате» (Название) с 0п116ег1 (Безымянный) на $! тр)е Р1о! 001 (Простой чертежный интерфейс). Сохранение и запуск СЫ Чтобы сохранить 001 (Графический интерфейс пользователя), выберите команду меню Рйе е Вече Аэ... (Файл е Сохранить как).
Введите имя файла для вашего интерфейса без какого-либо расширения; для интерфейса, рассмотренного выше, мы выбираем имя РЫБ!. В процессе сохранения создаются два файла, М.файл и двоичный файл с расширением .Йд, таким образом, в нашем случае результирующие файлы будут иметь имена р1о1йи!зп и р1о1йи!.йй. Когда вы сохраняете 001 (Графический интерфейс пользователя) в первый раз, М-файл для этого интерфейса отображается в отдельном окне модуля Ег(11ог (Редактор).
Как и зачем модифицируется этот файл, мы рассмотрим в следующем разделе. ':> Инструкции в этом и следующем разделе излагаются с предположением, что в 001 Орйопз (Параметры интерфейса) приняты настройки по умолчанию, наличие которых вы можете проверить, запустив 0010Е (Среда разработки графического интерфейса пользователя), как рассмотрено выше. С другой стороны, вы можете получить к ним доступ через меню Тоо1е (Инструменты). В частности, мы предполагаем, что будут выбраны параметры Оепега1е р!Ой!е апг! М-61е (Создавать РТС-файл и М-файл), Оепега1е са11Ьес!г гмпсбоп рго1оЬ!Рев (Создавать прототипы возвратной функции) и 001 а11овгв оп1у опе !пэ1апсе 1о гмп (Запускать только одну копию интерфейса). 168 МАТ~АН Когда процесс сохр,щения завершен, вы можете запустить 60! (! рафический ин.
терфейс пользователя) в окне Сошгпапд Ф()паве ()сомацдно» окно), введя его имя, в нашем случае р1оедца, причем не важно, запущен или нст 00(0Е (Среда разработки графического интерфейса пользователя). Оба файла, с расши(н ния. ми .Яя и .ш, должны находиться в вашем текущем каталоге или указаны в н)ти программы МАТ(.АВ.
Вы моа,ете такж«ззгг;стить инта рс)нйс из чоаулл ! ажзн1 ЕФ(ш лава 9. Графический интерфейс пользователя 169 Эбъекты, которые вы создаете в модуле 1.ауоц1 Ег(!(ог (Редактор планировки), анертны в этом окне. Вы не можете вводить текст в поле Ег(1( Тех( (Редактироваане текста), не можете видеть дополнительных параметров при щелчке мышью аа Рорир Мели (Открывающееся меню) и т.д. Но в активном окне 001 (Графиче:кий интерфейс пользователя) объекты типа То991а Вц((ол (Переключатель) и эорир Мали (Открывающееся меню) будут реагировать на щелчки мышью. Одна<о они не будут в действительности выполнять какие-либо операции, пока вы не ~апишете возвратную функцию для каждого из них.
Возвратные функции СЫ Когда вы готовы к созданию возвратной функции для определенного объекта, ~белитесь, что вы сохранили свой 00! (Графический интерфейс пользователя). Затем посмотрите в Ргораг(у (лэрас1ог (Инспектор свойств) для объекта в модуле ~ауои( ЕСйог (Редактор планировки), в поле Тад (Тег) вы увидите тег (условное имя) объекта, которым он идентифицирован в М-файле, связанном с вашим 001 (Графический интерфейс пользователя). Откройте М-файл в окне модуля Ед((ог (Редактор) (если он не открыт) и перейдите к разделу М-файла, связанному с зтим тетом. Вы увидите небольшой текстовый блок, который выглядит подобно приведенному ниже: --- Вжесихев оп Ьисьоп ргевв ап ривЬЬииггоп1. йшсгаоп ривЬЬийгоп1 Са11ЬасЬ(ЬОЬзесх, езгепхс?аха, Ьаш?1ев) ч ЬОЬ5есг Ьапс1е Ко ривЬЬиггоп2 (вес ЯСВО) Ь езгепкс?ага гевегтгеб — ко Ье беЕ1пеб 1п а Еикиге чегваоп оЕ Вдкт»АВ Ь ?апс??ев всгискиге м?кЬ Ьапс?1ев апг? ивег с?аса (вес ИПЮАгА) Все что теперь требуется сделать для «оживления» функции Рцай Вцйол (Нажать кнопку) — это добавить команды, которые должны быть выполнены, когда пользователь щелкнет мышью на кнопке.
Разумеется, вам также необходимо сохранить М-файл; вы можете сделать это обычным способом в модуле Ед((ог (Редактор) или путем активации 00! (Графический интерфейс пользователя) из модуля (.ауоц1 Ес((ог (Редактор планировки). Каждый раз при сохранении или активации 601 (Графический интерфейс пользователя) блок из пяти строк, похожий на представленный выше, автоматически добавляется к М.файлу интерфейса.
Это делается для любых новых объектов или элементов меню, которые вы добавляете в 601 (Графический интерфейс пользователя) и которые должны иметь возвратные функции. Во многих случаях, после того как вы в достаточной степени настроите свойства объекта, 001ОЕ (Среда разработки графического интерфейса пользователя) может вставлять некоторые команды в М-файл автоматически, но вам может понадобиться модифицировать их.