PureBasic

SplitterGadget()

Синтаксис

Result = SplitterGadget(#Gadget , x , y , Width , Height , #Gadget1 , #Gadget2 [, Flags])

Описание


Создает Гаджет "Сплиттер" (Splitter) в текущем списке Гаджетов (GadgetList). Этот Гаджет представляет собой отдельную область разделённую на две части (горизонтально или вертикально), каждая из которых содержит дочерний Гаджет. Разделительная полоса может свободно перемещаться пользователем, и два дочерних Гаджета будут автоматически изменять свои размеры.

Параметры

#Gadget Номер для идентификации нового Гаджета. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
x, y, Width, Height Позиция и размеры нового Гаджета.
#Gadget1, #Gadget2 Гаджеты, которые будут как дочерние Гаджеты помещены в отдельные части разделённой области Сплиттера.
Flags (дополн.) Флаги, позволяющие изменить поведение Гаджета. Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'):
  #PB_Splitter_Vertical    : Гаджет разделен вертикально (вместо используемого по умолчанию горизонтального деления).
  #PB_Splitter_Separator   : В Сплиттере используется разделительная полоса 3D вида.
  #PB_Splitter_FirstFixed  : Когда разделитель сплиттера будет сдвинут, первый Гаджет сохранит свой размер.
  #PB_Splitter_SecondFixed : Когда разделитель сплиттера будет сдвинут, второй Гаджет сохранит свой размер.

Возвращаемое значение

Возвращает не нулевое значение в случае успешного создания Гаджета, в противном случае возвращает ноль. Если в качестве параметра #Gadget использовалось значение #PB_Any, то в случае успеха, возвращаемым значением будет сгенерированный Номер Гаджета.

Комментарии

Вы можете добавить 'Всплывающую мини-подсказку' к этому Гаджету с помощью функции GadgetToolTip().

Для работы с Гаджетом SplitterGadget можно использовать следующие функции:

GetGadgetState(): Возвращает текущую позицию разделительной полосы, в пикселях относительно области SplitterGadget.
SetGadgetState(): Изменяет текущую позицию разделительной полосы, в пикселях относительно области SplitterGadget.
GetGadgetAttribute(): С одним из следующих атрибутов:
  #PB_Splitter_FirstMinimumSize : Возвращает минимальный размер (в пикселях), который может иметь первый Гаджет.
  #PB_Splitter_SecondMinimumSize: Возвращает минимальный размер (в пикселях), который может иметь второй Гаджет.
  #PB_Splitter_FirstGadget      : Возвращает Номер #Gadget первого Гаджета.
  #PB_Splitter_SecondGadget     : Возвращает Номер #Gadget второго Гаджета.
SetGadgetAttribute(): С одним из следующих атрибутов:
  #PB_Splitter_FirstMinimumSize : Устанавливает минимальный размер (в пикселях), который может иметь первый Гаджет.
  #PB_Splitter_SecondMinimumSize: Устанавливает минимальный размер (в пикселях), который может иметь второй Гаджет.
  #PB_Splitter_FirstGadget      : Заменяет первый Гаджет на новый.
  #PB_Splitter_SecondGadget     : Заменяет второй Гаджет на новый.
Примечание: При замене Гаджета функцией SetGadgetAttribute(), старый Гаджет не будет автоматически удалён. Вместо этого он будет перемещен обратно в родительское окно Сплиттера. Это позволяет переключать Гаджеты между Сплиттерами без необходимости воссоздавать какие-либо из них. Если старый Гаджет должен быть удалён, его Номер можно сначала получить с помощью функции GetGadgetAttribute(), а затем сам Гаджет удалить с помощью функции FreeGadget() после его замены на новый. Обратите внимание, что Гаджет не может находиться в двух Сплиттерах одновременно. Поэтому, чтобы переместить Гаджет из одного Сплиттера в другой, его сначала нужно заменить в первом Сплиттере, чтобы он переместился в главное окно (родительское окно Сплиттера), и затем его можно поместить во второй Сплиттер.

Пример

If OpenWindow(0, 0, 0, 230, 210, "Гаджет Сплиттер", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    #Button1  = 0
    #Button2  = 1
    #Splitter = 2

    ButtonGadget(#Button1, 0, 0, 0, 0, "Кнопка 1") ; Нет необходимости указывать размер или координаты,
    ButtonGadget(#Button2, 0, 0, 0, 0, "Кнопка 2") ; так как они будут определяться автоматически
    SplitterGadget(#Splitter, 5, 5, 220, 120, #Button1, #Button2, #PB_Splitter_Separator)

    TextGadget(3, 10, 135, 210, 140, "На части GUI показаны две кнопки с автоматическим изменением размера внутри области SplitterGadget 220x120.", #PB_Text_Center )

    Repeat
    Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf


См. также

GetGadgetState(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute()

Поддерживаемые OS

Все

<- SpinGadget() - Оглавление Gadget - StringGadget()->