ScrollAreaGadget()
Синтаксис
Result = ScrollAreaGadget(#Gadget , x , y , Width , Height , ScrollAreaWidth , ScrollAreaHeight [, ScrollStep [, Flags]])
Описание
Создаёт Гаджет "Область Прокрутки" (Scroll Area Gadget) в текущем списке Гаджетов (GadgetList). Это Гаджет-контейнер, который может содержать один или несколько Гаджетов в своей области прокрутки.
Параметры
#Gadget Номер для идентификации нового Гаджета. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически. x, y, Width, Height Позиция и размеры нового Гаджета. ScrollAreaWidth, ScrollAreaHeight Размеры области прокрутки внутри Гаджета. Они также могут быть меньше параметров Width и Height, в этом случае прокрутка будет отключена. ScrollStep (дополн.) Шаг прокрутки (в пикселях). На этот шаг происходит прокрутка, когда пользователь нажимает стрелки прокрутки. Flags (дополн.) Флаги, позволяющие изменить поведение Гаджета. Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'): #PB_ScrollArea_Flat : Плоская рамка #PB_ScrollArea_Raised : Приподнятая рамка #PB_ScrollArea_Single : Одинарная утопленная рамка #PB_ScrollArea_BorderLess : Без какой-либо границы #PB_ScrollArea_Center : Если внутренний размер меньше внешнего, внутренняя область автоматически центрируется.
Возвращаемое значение
Возвращает не нулевое значение в случае успешного создания Гаджета, в противном случае возвращает ноль. Если в качестве параметра #Gadget использовалось значение #PB_Any, то в случае успеха, возвращаемым значением будет сгенерированный Номер Гаджета.
Комментарии
Этот Гаджет очень полезен когда какой-то Гаджет слишком велик и не помещается в габаритах окна. В таком случае его можно поместить в область прокрутки. Вся прокрутка обрабатывается Гаджетом автоматически. После создания этого Гаджета, все последующие Гаджеты создаются внутри области прокрутки. Когда все нужные Гаджеты созданы, следует вызвать функцию CloseGadgetList() чтобы вернуться к прежнему списку Гаджетов. Впоследствии для добавления других Гаджетов в область прокрутки можно использовать функцию OpenGadgetList().SetGadgetAttribute(): с одним из следующих атрибутов:
Следующие функции могут использоваться для работы со ScrollAreaGadget:
GetGadgetAttribute(): с одним из следующих атрибутов:#PB_ScrollArea_InnerWidth : Возвращает ширину (в пикселях) области прокрутки. #PB_ScrollArea_InnerHeight : Возвращает высоту (в пикселях) области прокрутки. #PB_ScrollArea_X : Возвращает горизонтальную позицию прокрутки (в пикселях). #PB_ScrollArea_Y : Возвращает вертикальную позицию прокрутки (в пикселях). #PB_ScrollArea_ScrollStep : Возвращает текущее значение шага прокрутки (в пикселях).
#PB_ScrollArea_InnerWidth : Изменяет ширину области прокрутки (в пикселях). #PB_ScrollArea_InnerHeight : Изменяет высоту области прокрутки (в пикселях). #PB_ScrollArea_X : Изменяет текущую горизонтальную позицию прокрутки (в пикселях). #PB_ScrollArea_Y : Изменяет текущую вертикальную позицию прокрутки (в пикселях). #PB_ScrollArea_ScrollStep : Изменяет текущее значение шага прокрутки (в пикселях).
#PB_EventType_Resize: Размер Гаджета был изменён.Этот Гаджет поддерживает функции SetGadgetColor() и GetGadgetColor() с типом #PB_Gadget_BackColor для изменения цвета фона.
Пример
Procedure BindScrollDatas() SetWindowTitle(0, "ScrollAreaGadget " + "(" + GetGadgetAttribute(0, #PB_ScrollArea_X) + "," + GetGadgetAttribute(0, #PB_ScrollArea_Y) + ")" ) EndProcedure If OpenWindow(0, 0, 0, 405, 240, "ScrollAreaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ScrollAreaGadget(0, 10, 10, 390, 220, 575, 555, 30) ButtonGadget(1, 10, 10, 230, 30, "Кнопка 1") ButtonGadget(2, 50, 50, 230, 30, "Кнопка 2") ButtonGadget(3, 90, 90, 230, 30, "Кнопка 3") TextGadget(4, 130, 130, 230, 20, "Это содержимое Гаджета Область Прокрутки!", #PB_Text_Right) CloseGadgetList() BindGadgetEvent(0, @ BindScrollDatas()) Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End Case #PB_Event_Gadget Select EventGadget() Case 0 MessageRequester("Инфо", "Была использована прокрутка!(" + GetGadgetAttribute(0, #PB_ScrollArea_X) + "," + GetGadgetAttribute(0, #PB_ScrollArea_Y) + ")" , #PB_MessageRequester_Ok) Case 1 MessageRequester("Инфо", "Кнопка 1 нажата!", #PB_MessageRequester_Ok) Case 2 MessageRequester("Инфо", "Кнопка 2 нажата!", #PB_MessageRequester_Ok) Case 3 MessageRequester("Инфо", "Кнопка 3 нажата!", #PB_MessageRequester_Ok) EndSelect EndSelect ForEver EndIf
См. также
GetGadgetAttribute(), SetGadgetAttribute(), ScrollBarGadget()
Поддерживаемые OS
Все