| |
GTK+ 2.0 Tutorial |
||
---|---|---|
Категория виджетов диапазона включает вездесущий scrollbar (полоса прокрутки) и менее используемый scale widget (виджет масштабирования). Хотя эти два виджета используются для абсолютно разных целей, функционально они очень похожи. Все виджеты диапазона разделены на ряд графических элементов, каждый из которых имеет собственное окно и собственное событие оконной системы. Они все содержат "колею" ("trough") и "ползунок" ("slider") (их иногда называют "координатный манипулятор" "thumbwheel" в других средах разработки GUI). Перемещение "ползунка" указателем мыши допустимо в пределах колеи, щелчок мыши в любом месте колеи заставляет "ползунок" перемещаться в направлении щелчка на заранее определенное растояние.
Как упомянуто в главе о Регуляторах выше, все виджеты диапазона связаны с объектом регулирования, от которого они получают длину "ползунка" и его положение в пределах "колеи". Когда пользователь манипулирует ползунком, виджет диапазона изменяет значение регулировки.
Полоса прокрутки чаще всего используется с такими виджетами как списки (list), текстовые контейнеры (text box), или область просмотра (viewport) (и в стандартных оконных виджетах лучше всего использовать "прокручивание"). Для других целей лучше использовать виджеты масштабирования, они дружественны и более функциональны (featureful).
Есть отдельные типы для горизонтального и вертикального прокручивания (scrollbars). Они создаются при помощи отдельных функций:
GtkWidget *gtk_hscrollbar_new( GtkAdjustment *adjustment ); GtkWidget *gtk_vscrollbar_new( GtkAdjustment *adjustment ); |
Аргумент adjustment может быть указателем на Регулятор, или NULL, в зависимости от вашего выбора. Пустое значение используется в тех случаях, когда вновь созданный регулятор проходит через конструктор функции другого виджета который сконфигурирует его за вас, например текстовый виджет.
Adjustment Internals |
|
Scale Widgets |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |