Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
76
Добавлен:
02.04.2015
Размер:
8.79 Mб
Скачать
      1. Присоединение ответных реакций

Давайте вернёмся к кнопкам меню, которые Вы создали раньше, и прикрепим ответные реакции, так что кнопки смогут вызывать всплытие Ваших модулей меню.

          1. Присоединение ответной реакции модульного типа

  • Выберите кнопку меню "File", затем переключитесь на панель управления ответными реакциями ("Callbacks). Вы увидите список ответных реакций кнопки "File".

Чтобы модуль меню "File" всплывал при нажатии кнопки "File", Вам надо присоединить ответную реакцию "Arm" к кнопке. Для прикрепления ответной реакции "Arm" Вы можете открыть меню, используя механизмы "щёлкнуть-переместить-щёлкнуть" либо "нажать-перетащить-опустить".

Щёлкните на "Arm", чтобы вызвать редактор ответной реакции.

Область "Module Types" редактора позволяет Вам выбрать тип модуля, к которому Вы хотите присоединится. Поскольку Вы хотите присоединить кнопку "File" к модулю меню, щёлкните на "Menu".

Щёлкните на области "Name" и наберите filemenu, что является именем, которое Вы дали Вашему модулю меню "File". Это подсоединит кнопку меню к этому модулю. Вы можете также выбрать filemenu из всплывающего списка доступных модулей. Чтобы вызвать список, щёлкните на иконке справа от области "Name".

Щёлкните на "Apply", чтобы добавить связь с ответной реакцией, затем щёлкните на "Done", чтобы закрыть редактор ответных связей.

Повторите вышеприведенные шаги для присоединения кнопки меню "Help" к модулю меню "Help".

          1. Присоединение ответной реакции кодового типа

Давайте теперь присоединим ответную реакцию кодового типа к пункту "Quit" меню "File", так чтобы она могла завершать работу приложения.

  1. Выполните двойной щелчок на свёрнутом в иконку модуле filemenu. Он откроется и выберет модуль.

  2. Переключитесь на панель управления ресурсами и щёлкните на ресурсе "Menu Items".

  3. Выберите пункт "Quit" в списке "Menu Items".

  4. Щёлкните на иконке следом за областью "Callback", чтобы открыть редактор ответной реакции:

  1. Когда редактор откроется, принятым по умолчанию типом ответной реакции будет "Code". Поскольку это нужный Вам тип, всё, что Вам надо сделать – это задать имя функции, которую Вы хотите вызвать. Функция должна иметь имя, имеющее смысл (святые слова! Сколько уже вызывал я функций с именами типа f1 или pro... Прим. пер.) Так что наберите quit в области "Function".

  2. Щёлкните на "Apply", чтобы обновить список ответных реакций, затем щёлкните на "Done", закрывая редактор.

  3. Щёлкните на "Done" вновь, чтобы закрыть редактор меню.

      1. Подготовка кода

Вы теперь генерируете код для Вашего приложения и отредактируете сгенерированную заглушку кода, так чтобы пункт "Quit" приводил к завершению приложения.

  • Из меню "Application" выберите "Build+Run" и сгенерируйте код приложения.

  • После того, как процесс генерации завершился, диалог "Build+Run" отобразит список сгенерированных файлов.

Прокрутите список в поисках файла quit.c. Это сгенерированный шаблон кода, который PhAB сгенерировал для Вашей функции quit ().

  • Вам необходимо сделать функцию выхода из программы. Чтобы сделать это, выберите quit.c из списка файлов, щёлкните на кнопке "Edit" и измените функцию quit (), как показано ниже:

int

quit( PtWidget_t *widget, ApInfo_t *apinfo,

PtCallbackInfo_t *cbinfo )

{

/* предотвращает предупреждения (warnings) об отсутствии ссылок */

widget = widget,

apinfo = apinfo,

cbinfo = cbinfo;

PtExit( EXIT_SUCCESS );

/* Этот оператор не может быть достигнут, */

/* но это оставит компилятор счастливым */

return( Pt_CONTINUE );

}

PtExit () – это функция, которая очищает окружение Photon'а и затем закрывает приложение. Она описана в "Справочнике библиотеки Photon'а".

  • После того, как Вы отредактировали код, сохраните Ваши изменения, закройте редактор и щёлкните на "Make" для компиляции кода.

  • Щёлкните на Run Application" для запуска приложения.

  • После запуска приложения щёлкните на кнопку "File" для вызова меню "File". Затем выберите "Quit". Ваше приложение немедленно завершит работу и закроется.

Соседние файлы в папке Литература_1