Linux: Полное руководство
Шрифт:
♦ destroy_event — уничтожение объекта;
♦ key_press_event — нажата клавиша клавиатуры;
♦ key_release_event — клавиша отпущена;
♦ enter_notify_event — указатель мыши вошел в пределы объекта;
♦ leave_notify_event — указатель мыши вышел за пределы объекта;
♦ focus_in_event — объект стал активным (получил фокус);
♦ focus_out_event — объект не активен;
♦ drag_begin_event — начало перемещения объекта;
♦ drag_request_event — запрос на перемещение объекта;
♦ drag_end_event — перемещение объекта;
♦ drop_enter_event — объект перемещен.
Наиболее часто используемые события GDK (используются в функции-обработчике) перечислены ниже:
♦ GDK_NOTHING — не произошло никакого события;
♦ GDK_DELETE — удаление;
♦ GDK_DESTROY — уничтожение;
♦ GDK_MOTION_NOTIFY — уведомление о перемещении;
♦ GDK_BUTTON_PRESS — нажата любая кнопка мыши;
♦ GDK_1BUTTON_PRESS — нажатие первой кнопки мыши;
♦ GDK_2BUTTON_PRESS — нажатие второй кнопки мыши;
♦ GDK_3BUTTON_PRESS — нажата третья кнопка;
♦ GDK_BUTTON_RELEASE — кнопка (любая) отпущена;
♦ GDK_KEY_PRESS — нажата клавиша;
♦ GDK_KEY_RELEASE — клавиша отпущена;
♦ GDK_ENTER_NOTIFY — указатель мыши в пределах объекта (виджита);
♦ GDK_LEAVE_NOTIFY — указатель мыши вышел за пределы виджита;
♦ GDK_FOCUS_CHANGE — изменения фокуса ввода;
♦ GDK_OTHER_EVENT — другое событие.
23.3.5. Виджит событий — EventBox
Далеко не все виджиты связаны с окнами. Например, GtkLabel (надпись), GtkTable (контейнер-таблица), GtkHBox (горизонтальный контейнер), GtkVBox (вертикальный контейнер) и некоторые другие с окнами не связаны.
Если нужно, чтобы эти виджиты реагировали на определенные сигналы, нужно использовать виджит EventBox, позволяющий привязать сигнал к не связанному с окном виджиту. Следующая программа демонстрирует привязку события button_press_event к виджиту GtkLabel.
Листинг 23.5. Виджит EventBox
Откомпилируйте и запустите программу. Над надписью указатель мыши должен принять вид руки (как в браузере над ссылкой). При щелчке на надписи программа будет закрыта.
Если вы хотите создать надпись на русском языке, то подключите заголовок locale.h и вызовите функцию:
Кодекс Крови. Книга ХIII
13. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
рейтинг книги
Законы Рода. Том 7
7. Граф Берестьев
Фантастика:
юмористическое фэнтези
попаданцы
аниме
рейтинг книги
Двойник Короля 10
10. Двойник Короля
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Развод. Без права на ошибку
Любовные романы:
современные любовные романы
короткие любовные романы
рейтинг книги
Купеческая дочь замуж не желает
Фантастика:
фэнтези
рейтинг книги
Симфония теней
3. Хроники геноцида
Фантастика:
попаданцы
фэнтези
рейтинг книги
Газлайтер. Том 22
22. История Телепата
Фантастика:
боевая фантастика
попаданцы
фэнтези
рейтинг книги
Возмутитель спокойствия
1. Глэрд
Фантастика:
фэнтези
боевая фантастика
попаданцы
рейтинг книги
Наследник хочет в отпуск
5. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
рейтинг книги
Неудержимый. Книга XXXII
32. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Спасите меня, Кацураги-сан! Том 12
12. Токийский лекарь
Фантастика:
попаданцы
дорама
фэнтези
рейтинг книги
Шайтан Иван 4
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Офицер Красной Армии
2. Командир Красной Армии
Фантастика:
попаданцы
рейтинг книги