Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОУК / 09 семестр / Книги и методические указания / Руководство программиста в Photon.doc
Источник:
Скачиваний:
364
Добавлен:
04.03.2014
Размер:
7.99 Mб
Скачать

Перемещение пунктов меню

Скроллируемый список "Menu Items" позволяет Вам перемещать пункты в меню на другую позицию в меню. Пусть, скажем, Вы хотите переместить пункт по имени "Browse", так чтобы он появлялся непосредственно перед пунктом по имени "Edit". Вы должны:

  1. Перетащить пункт "Browse", пока его контур не окажется непосредственно над пунктом "Edit".

  2. Отпустить кнопку мыши. Пункт "Browse" появится в новой позиции.

Использование модуля меню

Как только Вы создали модуль меню, Вы должны сделать так, чтобы Ваше приложение его отображало. Обычно Вы должны выполнить следующее:

  1. Создайте PtMenuBar в верхней части окна.

  2. Добавьте PtMenuButton к панели меню, присвоив ему соответствующие имя экземпляра и текстовую строку.

  3. Добавьте ответную реакцию связи с модулем к списку ответных реакций Pt_CB_ARM кнопок меню.

 Вы можете добавить ответную реакцию в список Pt_CB_ACTIVATE, но добавление её в Pt_CB_ARM позволяет пользователю получить доступ к ней двумя способами:

  • нажав левую кнопку мыши на виджете кнопки меню, перетащив к подсвеченному пункту меню и отпустив, чтобы это выбрать. Это известно как метод нажать-перетащить-отпустить.

  • щёлкнув на меню и затем щёлкнув на пункте меню. Если Вы используете ответную реакцию "Activate", пользователь может пользоваться только вторым методом.

  1. Включите ответную реакцию, отображающую модуль меню. Смотри "Ответные реакции модуля" в главе "Редактирование ресурсов и ответных реакций в PhAB".

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

Если Вы хотите, чтобы меню появлялось, когда Вы нажимаете правую кнопку мыши, в то время, когда указатель мыши установлен на виджете, Вам необходимо использовать внутреннюю связь (internal link). Для получения более полной информации см. главу "Получение доступа к модулям из программного кода" – там есть даже пример.

Модули картинок

класс виджета

расширение файла

создание виджета

Не применим

.wgtp

Непосредственно из палитры виджетов

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

Иконка модуля картинки

Как и окна, модули картинок поддерживают множественность экземпляров. Поэтому Вы должны хранить "путь" (track) указателя экземпляра для контейнера, в котором хранится каждая картинка. При таком способе Вы будете всегда знать, с какой картинкой имеете дело, когда обрабатываете ответную реакцию. Если Вы уверены, что Ваше приложение будет использовать только один экземпляр картинки в каждый данный момент, Вам нет необходимости хранить путь указателей экземпляров. Вместо этого Вы можете использовать генерируемые PhAB декларации для получения доступа к виджетам картинки.

Отображение картинки

Вы всегда имеете доступ к модулям картинок из программного кода Вашего приложения. Чтобы получить доступ к картинке, Вы должны создать к ней внутреннюю связь. Это укажет PhAB'у генерировать декларацию, которую Вы можете использовать с функциями PhAB, такими как ApCreateModule(), чтобы получить доступ к картинке.

Для получения более полной информации см. главу "Получение доступа к модулям PhAB из программного кода".