[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Программирование: Разработка и отладка программ


Управление программными метками

Curses содержат функции управления метками функциональных клавиш. Эти метки появляются в нижней части экрана и упрощают работу с некоторыми приложениями (например, с текстовыми редакторами). Для того чтобы вывести эти метки на экран, необходимо до функций initscr или newterm вызвать функцию slk_init.

slk_clear Удаляет программные метки с экрана.
slk_init Инициализирует программные метки функциональных клавиш.
slk_label Возвращает имя текущей метки.
slk_noutrefresh Обновляет программные метки. Действие этой функции аналогично действию wnoutrefresh.
slk_refresh Обновляет программные метки. Действие этой функции аналогично действию refresh.
slk_restore Отменяет действие функции slk_clear и восстанавливает программные метки на экране.
slk_set Позволяет задать программную метку.
slk_touch Обновляет программные метки при следующем вызове функции slk_noutrefresh.

При работе с программными метками curses уменьшает размер stdscr на одну строку. Эта строка резервируется для соответствующих функций управления. При этом значение переменной среды LINES также уменьшается. Многие терминалы поддерживают встроенные программные метки. Если такая поддержка включена, curses использует ее. В противном случае программные метки имитируются программно.

На многих терминалах, поддерживающих программные метки, определено 8 меток, этот стандарт принят и для curses. Длина строки метки не превышает 8 символов. Curses допускает два варианта расположения меток: 3-2-3 (3 слева, 2 по центру и 3 справа) или 4-4 (4 слева и 4 справа).

Для того чтобы задать текст метки вызовите функцию slk_set. Эта функция curses позволяет также указать, как следует выровнять метку: по левому краю, по правому краю или по центру. Если вы хотите получить имя метки без выравнивания, вызовите функцию slk_label. Функции slk_clear и slk_restore служат соответственно для удаления и восстановления программных меток. Обычно для обновления программных меток программа вызывает функцию slk_noutrefresh для каждой метки, а потом один раз вызывает функцию slk_refresh для получения конечного вывода. Если вы хотите обновить все программные метки при следующем вызове slk_noutrefresh, воспользуйтесь функцией slk_touch.

Связанная информация

Глава 2, Библиотека curses

Список дополнительных функций curses


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]