краткое описание#include <gtk/gtk.h> gtkeventbox; gtkwidget* gtk_event_box_new (void); void gtk_event_box_set_above_child (gtkeventbox *event_box, gboolean above_child); gboolean gtk_event_box_get_above_child (gtkeventbox *event_box); void gtk_event_box_set_visible_window (gtkeventbox *event_box, gboolean visible_window); gboolean gtk_event_box_get_visible_window (gtkeventbox *event_box); иерархия объектовgobject +----ginitiallyunowned +----gtkobject +----gtkwidget +----gtkcontainer +----gtkbin +----gtkeventbox реализуемые интерфейсыgtkeventbox реализует atkimplementoriface. свойства"above-child" gboolean : read / write "visible-window" gboolean : read / write описаниеgtkeventbox – это подкласс gtkbin который также имеет своё собственное окно. он полезен при получении событий виджетами не имеющими своего собственного окна. деталиgtkeventboxtypedef struct _gtkeventbox gtkeventbox; структура gtkeventbox содержит только закрытые данные, доступ к которым должен осуществляеться с помощью функций описанных ниже. gtk_event_box_new ()gtkwidget* gtk_event_box_new (void); создаёт новый gtkeventbox.
gtk_event_box_set_above_child ()void gtk_event_box_set_above_child (gtkeventbox *event_box, gboolean above_child); устанавливает расположено ли окно контейнера события выше окон его дочерних элементов, или ниже. если окно выше, все события внутри контейнера событий будут получены контейнером. если окно ниже, события в первую очередь получат окна дочерних виджетов, а затем их родитель. по умолчанию окно располагается ниже дочерних виджетов.
начиная с версии 2.4 gtk_event_box_get_above_child ()gboolean gtk_event_box_get_above_child (gtkeventbox *event_box);
определяет находится ли окно контейнера
событий ниже или выше окон его дочерних
виджетов. смотрите
начиная с версии 2.4 gtk_event_box_set_visible_window ()void gtk_event_box_set_visible_window (gtkeventbox *event_box, gboolean visible_window); устанавливает используется ли контейнером событий видимое или не видимое окно. по умолчанию используется видимое окно. в случае невидимого окна контейнера,
окно которое контейнер события создаёт
видимое окно контейнера событий
создаёт обычно вы должны делать ваш контейнер событий не видимым, если вы просто хотите перехватывать события. создание видимого окна может вызвать артефакты, которые видимы для пользователя, особенно если пользователь использует тему с градиентами или изображениями. основная причина создавать контейнер событий только для ввода в том, чтобы не появлялись артефакты при установки разноцветного фона или фона с рисунком. отметьтеесть одна
неожиданная проблема для не видимого
контейнера событий который имеет окно
ниже дочерних виджетов. (смотрите
эта проблема не существует для видимых контейнеров событий, потому что в этом случае, окно контейнера событий фактический предок порожденных окон, не только в том же участке экрана.
начиная с версии 2.4 gtk_event_box_get_visible_window ()gboolean gtk_event_box_get_visible_window (gtkeventbox *event_box);
определяет имеет ли контейнер событий
видимое окно. смотрите
начиная с версии 2.4 детали свойствсвойство "
|