logo search
Литература_1 / photon_old

Прикрепление ответной реакции

Поскольку модуль окна поддерживает множественность экземпляров, Вы создаёте код функции, которая будет вызвана всякий раз, когда окно будет открыто или закрыто (т.е. всякий раз, когда окно создаётся или уничтожается). Так что давайте прежде всего установим ответную реакцию, определяющую, когда окно закрывается:

  1. Переключитесь, если необходимо, на панель управления ответными реакциями.

  2. Из списка ответных реакций выберите "Window Manager". Вы хотите использовать ответную реакцию менеджера окон, поскольку она вызывается, когда Photon'овский менеджер окон закрывает окно.

  3. В зоне "Function" наберите newwin_close. Вы не выбираете тип обратной реакции, поскольку принимаемый по умолчанию "Code" – это то, что Вы хотите.

Щёлкните на "Apply", затем на "Done".

  1. Переключитесь на панель управления ресурсами и выберите ресурс "Flags: Notify". Убедитесь, что флаг Ph_WM_CLOSE установлен (т.е. подсвечен), затем щёлкните на "Done". Этот флаг указывает менеджеру окон уведомлять Ваше приложение, когда окно закрывается.

  2. Теперь давайте установим функцию, которая будет вызываться при открытии окна. Откройте модуль меню filemenu, затем выберите ресурс "Menu Items" в панели управления ресурсами. Вы увидите редактор меню.

  3. Убедитесь, что в списке пунктов меню "Menu Items" выбран пункт "New", затем щёлкните на иконке ответной реакции, чтобы открыть редактор ответных сявзей.

  4. Выберите тип модуля "Window", затем щёлкните на стрелке возле области "Name". Вы увидите список существующих модулей окон.

  5. Выберите newwin, который является окном, только что Вами созданным.

  6. В области "Setup Function" введите newwin_setup как имя установочной функции. В дальнейшем Вы модифицируете newwin_setup, чтобы манипулировать множественными экземплярами окон.

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