ScrollBarGadget()
Синтаксис
Result = ScrollBarGadget(#Gadget , x , y , Width , Height , Minimum , Maximum , PageLength [, Flags])
Описание
Создаёт Гаджет "Полоса Прокрутки" (Scroll Bar Gadget) в текущем списке Гаджетов (GadgetList).
Параметры
#Gadget Номер для идентификации нового Гаджета. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. x, y, Width, Height Позиция и размеры нового Гаджета. Minimum, Maximum Диапазон значений, которые может принять Полоса Прокрутки. Эти значения должны быть от 0 до 10000, чтобы избежать ограничений для некоторых операционных систем. PageLength Размер отображаемой области, которая является частью полного изображения, её так же называют - 'Страница'
Например, у Вас может быть картинка шириной 100 пикселей, а видите вы только 25 пикселей. То, что вы видите, называется 'страница', в этом примере размер страницы будет 25, параметр Mininum будет 0, а параметр Maximum будет 100. Курсор прокрутки будет в 4 раза меньше, чем планка по которой он движется, так как его размер пропорционален (размер = Maximum / PageLength).Flags (дополн.) Флаги, позволяющие изменить поведение Гаджета. Этот параметр может быть следующим значением: #PB_ScrollBar_Vertical : Полоса прокрутки будет вертикальной (вместо горизонтальной, которая по умолчанию).
Возвращаемое значение
Возвращает не нулевое значение в случае успешного создания Гаджета, в противном случае возвращает ноль. Если в качестве параметра #Gadget использовалось значение #PB_Any, то в случае успеха, возвращаемым значением будет сгенерированный Номер Гаджета.
Комментарии
Вы можете добавить 'Всплывающую мини-подсказку' к этому Гаджету с помощью функции GadgetToolTip().- SetGadgetAttribute(): С одним из следующих атрибутов:
Для работы с этим Гаджетом можно использовать следующие функции:
- GetGadgetState(): Возвращает текущую позицию Курсора прокрутки, это значение в диапазоне между 'Minimum' и 'Maximum - PageLength + 1'.
- SetGadgetState(): Изменяет текущую позицию Курсора прокрутки.
- GetGadgetAttribute(): С одним из следующих атрибутов:#PB_ScrollBar_Minimum : Возвращает установленную минимальную позицию прокрутки. #PB_ScrollBar_Maximum : Возвращает установленную максимальную позицию прокрутки. #PB_ScrollBar_PageLength: Возвращает размер страницы (PageLength).
#PB_ScrollBar_Minimum : Изменяет минимальную позицию прокрутки. #PB_ScrollBar_Maximum : Изменяет максимальную позицию прокрутки. #PB_ScrollBar_PageLength: Изменяет размер страницы (PageLength).Событие срабатывает при его использовании. Смотрите примеры ниже.
Пример
If OpenWindow(0, 0, 0, 335, 140, "Гаджет Полоса Прокрутки", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(2, 10, 15, 280, 35, "Полоса Прокрутки Стандартная (начальная позиция = 50, страница = 30/100)", #PB_Text_Center) ScrollBarGadget(0, 10, 52, 280, 20, 0, 100, 30) SetGadgetState(0, 50) ; установим 1-ю полосу прокрутки (ID = 0) в 50 из 100 TextGadget(3, 10, 95, 280, 35, "Полоса Прокрутки Вертикальная (начальная позиция = 100, страница = 50/300)", #PB_Text_Right) ScrollBarGadget(1, 300, 10, 25, 120 , 0, 300, 50, #PB_ScrollBar_Vertical) SetGadgetState(1, 100) ; установим 2-ю полосу прокрутки (ID = 1) в 100 из 300 Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
Пример События ScrollBar
Procedure BindHScrollDatas() SetWindowTitle(0, "ScrollBarGadget (" + GetGadgetState(0) + ")" ) EndProcedure Procedure BindVScrollDatas() SetWindowTitle(0, "ScrollBarGadget (" + GetGadgetState(1) + ")" ) EndProcedure If OpenWindow(0, 0, 0, 400, 400, "ScrollBarGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) TextGadget(2, 10, 25, 350, 30, "ScrollBar Standard (start = 50, page = 30/100)") ScrollBarGadget(0, 10, 50, 350, 20, 0, 100, 30) SetGadgetState(0, 50) ; Установим первую полосу прокрутки (ID = 0) на 50 из 100 TextGadget(3, 10, 120, 350, 30, "ScrollBar vertical (start = 100, page = 50/300)") ScrollBarGadget(1, 175, 160, 25, 120 , 0, 300, 50, #PB_ScrollBar_Vertical) SetGadgetState(1, 100) ; Установим вторую полосу прокрутки (ID = 1) на 100 из 300 BindGadgetEvent(0, @ BindHScrollDatas()) BindGadgetEvent(1, @ BindVScrollDatas()) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End Case #PB_Event_Gadget Select EventGadget() Case 0 MessageRequester("Info", "Использован ScrollBar 0 ! (" + GetGadgetState(0) + ")" , #PB_MessageRequester_Ok) Case 1 MessageRequester("Info", "Использован ScrollBar 1 ! (" + GetGadgetState(1) + ")" , #PB_MessageRequester_Ok) EndSelect EndSelect ForEver EndIf
См. также
GetGadgetState(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute(), ScrollAreaGadget()Поддерживаемые OS
Все<- ScrollAreaGadget() - Оглавление Gadget - SetActiveGadget()->