Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Литература / photon_old.doc
Скачиваний:
40
Добавлен:
02.04.2015
Размер:
7.88 Mб
Скачать
          1. Функции ответных реакций хрянятся в заготовочных файлах

Когда Вы задаёте функцию ответной реакции, PhAB генерирует заготовку функции; для получения информации по заданию языка (С или С++) и имени файла, см. раздел "Имена функций и файлов" в главе "Работа с программным кодом".

    1. Ответные реакции горячих клавиш

Виджеты поддерживают ответные реакции горячих клавиш. Эти ответные реакции позволяют Вам присоединить клавиши клавиатуры к заданным функциям ответных реакций. Когда окно приложения получает фокус, горячие клавиши становятся активными. Нажатие такой клавиши вызывает соответствующую связанную с горячей клавишей ответную реакцию.

Этот раздел включает:

  • Горячие клавиши – основы

  • Задание метки горячей клавиши

  • Задание ответной реакции

  • Обработка горячей клавиши

  • Отключение ответной реакции

      1. Горячие клавиши – основы

Вот некоторая основная информация о горячих клавишах:

  • Горячие клавиши – это комбинация клавиши символа и ключа-модификатора (<Alt>, <Shift> или <Ctrl>). По большей части для горячих клавиш используется <Alt>.

  • Вы можете использовать в качестве горячей клавиши модификатор сам по себе, однако это, по-видимому, не является хорошей идеей.

  • Горячая клавиша не вызывается, если блокирован какой-либо прародитель виджета, которому она принадлежит.

  • Горячая клавиша обрабатывается после того, как виджет получает событие клавиши. Если виджет поглощает событие, никакая ответная реакция горячей клавиши не вызывается. Так, когда текстовая область получает фокус, клавиша <Enter>, клавиши стрелок, клавиша пробела и все отображаемые символы не работают как горячие клавиши, поскольку виджет поглощает эти события. Это обычно является требуемым поведением (предполагать редактирование в приложении, все клавиши стрелок в котором определены как горячие).

Вы можете заставить обрабатывать горячие клавиши прежде получения события, установив Pt_HOTKEYS_FIRST в ресурсе Pt_ARG_CONTAINER_FLAGS контейнера виджета (окна, панели, ...), содержащего виджеты, которые обычно поглощают возможные события горячих клавиш. Установка этого флага в окне гарантирует, что все горячие клавиши будут обработаны до того, как какой-либо виджет получит событие нажатия клавиши. Для получения более полной информации см. ниже раздел "Обработка горячих клавиш".

  • Чтобы горячие клавиши виджетов были активны, эти виджеты должны быть выбираемы (за исключением расчленённых виджетов, таких как окна или меню). Убедитесь, что в ресурсах Pt_ARG_FLAGS виджетов установлены флаги Pt_SELECTABLE и Pt_GETS_FOCUS.

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

  • Часто не имеет значения, с каким виджетом связана ответная реакция. В этих случаях просто присоедините ответную реакцию к окну.

      1. Задание метки горячей клавиши

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

  • Для большинства виджетов отредактируйте ресурс клавиши быстрого доступа (Pt_ARG_ACCEL_KEY). Задайте символ в метке виджета, который Вы хотите подчеркнуть. Вы не можете включить в метку какую-либо клавишу-модификатор.

  • Для пунктов меню подчёркнутый символ является кнопкой быстрого доступа, которую Вы можете использовать для выбора пункта, когда отображено меню. Метка горячей клавиши отображается отдельно, справа от метки пункта меню. Задайте горячую клавишу (включая клавиши-модификаторы) в области "Accel Text" редактора меню.

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