PureBasic

ListIconGadget()

Синтаксис

Result = ListIconGadget(#Gadget , x , y , Width , Height , FirstColumnTitle$ , FirstColumnWidth [, Flags])

Описание


Создает Гаджет "Список со значками" (ListIcon) в текущем списке Гаджетов (GadgetList).

Параметры

#Gadget Номер для идентификации нового Гаджета. В качестве этого параметра можно использовать значение #PB_Any, чтобы сгенерировать этот Номер автоматически.
x, y, Width, Height Позиция и размеры нового Гаджета.
FirstColumnTitle$ Заголовок первого столбца Гаджета. Гаджет создается с одним начальным столбцом.
FirstColumnWidth Ширина первого столбца Гаджета.
Flags (дополн.) Флаги, позволяющие изменить поведение Гаджета. Этот параметр может быть комбинацией следующих значение (с помощью оператора '|'):
  #PB_ListIcon_CheckBoxes         : Отображать чек-боксы (Флажки) в первой колонке.
  #PB_ListIcon_ThreeState         : Чек-боксы (Флажки) могут иметь "промежуточное" состояние.
  #PB_ListIcon_MultiSelect        : Включить множественное выделение.
  #PB_ListIcon_GridLines          : Отображать разделительные линии между строками и столбцами. (Нет в Mac OSX).
  #PB_ListIcon_FullRowSelect      : Выделение охватывает всю строку, а не первую колонку (только Windows). 
  #PB_ListIcon_HeaderDragDrop     : Порядок колонок можно изменять с помощью перетаскивания (drag'n'drop).
  #PB_ListIcon_AlwaysShowSelection: Выделение отображается даже если Гаджет не активирован (только Windows).
Флаг #PB_ListIcon_ThreeState можно использовать в сочетании с флагом #PB_ListIcon_CheckBoxes, чтобы получить чек-боксы (флажки), которые могут иметь состояние "включено", "выключено" и "промежуточное". Пользователь может выбрать только состояния "включено" или "выключено". Состояние "промежуточное" может быть установлено программно с помощью функции SetGadgetItemState().

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

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

Комментарии

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

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

- AddGadgetColumn(): Добавляет столбец в Гаджет.
- RemoveGadgetColumn(): Удаляет указанный столбец из Гаджета.
- AddGadgetItem(): Добавляет элемент (с необязательным изображением стандартного для иконок размера 16x16).
- RemoveGadgetItem(): Удаляет указанный элемент из Гаджета.
- ClearGadgetItems(): Удаляет все элементы из Гаджета.
- CountGadgetItems(): Возвращает количество элементов указанного Гаджета.

- GetGadgetItemColor(): Возвращает цвет текста или цвет фона элемента.
- SetGadgetItemColor(): Изменяет цвет текста или цвет фона элемента. (цвет фона, не поддерживается на MacOS X).
- GetGadgetItemData(): Возвращает значение, которое было сохранено в указанном элементе Гаджета.
- SetGadgetItemData(): Сохраняет заданное значение в указанном элементе Гаджета.
- GetGadgetItemState(): Возвращает текущее состояние указанного элемента Гаджета.
- SetGadgetItemState(): Изменяет текущее состояние указанного элемента (Выделен/Не выделен/Флажок).
- GetGadgetItemText(): Возвращает имя указанного элемента (или заголовок столбца, если параметр item = -1)
- SetGadgetItemText(): Изменяет текст (имя) указанного элемента заданного столбца (или заголовка столбца, если параметр item = -1). Как и в случае с AddGadgetItem(), можно установить текст сразу для нескольких столбцов с помощью разделителя Chr (10).
- SetGadgetItemImage(): Изменяет текущее Изображение указанного элемента.
- GetGadgetState(): Возвращает индекс первого выделенного элемента Гаджета (-1 если ничего не выделено).
- SetGadgetState(): Делает указанный элемент выделенным (все прочие выделенные элементы теряют этот статус). 'State'- это индекс элемента, если задано -1, не один элемент не будет выделен.
- GetGadgetAttribute() Со следующим атрибутом:
  #PB_ListIcon_ColumnCount: Возвращает количество столбцов в Гаджете
  #PB_ListIcon_DisplayMode: Возвращает текущий режим отображения Гаджета (только для Windows)
- SetGadgetAttribute(): Со следующим атрибутом:
  #PB_ListIcon_DisplayMode : Изменяет режим отображения Гаджета. Может быть одной из следующих констант (только для Windows):
    #PB_ListIcon_LargeIcon: Режим больших иконок
    #PB_ListIcon_SmallIcon: Режим малых иконок
    #PB_ListIcon_List     : Режим списка
    #PB_ListIcon_Report   : Режим таблицы (столбцы, режим по умолчанию)

- GetGadgetItemAttribute() / SetGadgetItemAttribute(): Со следующим атрибутом:
  #PB_ListIcon_ColumnWidth : Возвращает / Изменяет ширину заданного столбца. Параметр 'Item' игнорируется.
Этот Гаджет поддерживает функции SetGadgetColor() и GetGadgetColor() со следующими значениями для параметра 'ColorType':
  #PB_Gadget_FrontColor: Цвет текста
  #PB_Gadget_BackColor : Цвет фона
  #PB_Gadget_LineColor : Цвет линий сетки, если использован флаг #PB_ListIcon_GridLines.
Через EventType() поддерживаются следующие события:
  #PB_EventType_Change            : Выбор текущего элемента изменился.
  #PB_EventType_LeftClick        : Пользователь кликнул на элементе левой кнопкой мыши.    
  #PB_EventType_RightClick        : Пользователь кликнул на элементе правой кнопкой мыши.
  #PB_EventType_LeftDoubleClick   : Пользователь сделал двойной клик на элементе левой кнопкой мыши.
  #PB_EventType_RightDoubleClick  : Пользователь сделал двойной клик на элементе правой кнопкой мыши.
  #PB_EventType_DragStart        : Пользователь попытался начать перетаскивание (Drag & Drop).

Пример

If OpenWindow(0, 100, 100, 300, 100, "Пример Гаджета Список со значками", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ListIconGadget(0, 5, 5, 290, 90, "Name", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
    AddGadgetColumn(0, 1, "Address", 250)
    AddGadgetItem(0, -1, "Harry Rannit"+Chr(10)+"12 Parliament Way, Battle Street, By the Bay")
    AddGadgetItem(0, -1, "Ginger Brokeit"+Chr(10)+"130 PureBasic Road, BigTown, CodeCity")
    Repeat
        Event = WaitWindowEvent()
    Until Event = #PB_Event_CloseWindow
EndIf

Пример

; Показывает возможные флаги ListIconGadget в действии...
If OpenWindow(0, 0, 0, 700, 300, "Гаджеты 'Список со значками'", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ; Левый столбец
    TextGadget(6, 10, 10, 330, 20, "Стандартный список (ListIcon)", #PB_Text_Center)
    ListIconGadget(0, 10, 25, 330, 70, "Столбец 1", 100)
    TextGadget(7, 10, 105, 330, 20, "Список с чек-боксами", #PB_Text_Center)
    ListIconGadget(1, 10, 120, 330, 70, "Столбец 1", 100, #PB_ListIcon_CheckBoxes) ; Список со значками с чек-боксом
    TextGadget(8, 10, 200, 330, 20, "Список с множественным выбором", #PB_Text_Center)
    ListIconGadget(2, 10, 215, 330, 70, "Столбец 1", 100, #PB_ListIcon_MultiSelect) ; Список с множественным выбором
                                                                                    ; Правый Столбец
    TextGadget(9, 360, 10, 330, 20, " Список с разделительными линиями", #PB_Text_Center)
    ListIconGadget(3, 360, 25, 330, 70, "Столбец 1", 100, #PB_ListIcon_GridLines)
    TextGadget(10, 360, 105, 330, 20, "Список с FullRowSelect и AlwaysShowSelection", #PB_Text_Center)
    ListIconGadget(4, 360, 120, 330, 70, "Столбец 1", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection)
    TextGadget(11, 360, 200, 330, 20, "Стандартный список с большими значками", #PB_Text_Center)
    ListIconGadget(5, 360, 220, 330, 65, "", 200, #PB_ListIcon_GridLines)
    For a = 0 To 4            ; Добавить столбцы к каждому из первых 5 списков
        For b = 2 To 4          ; Добавить еще 3 столбца к каждому списку
            AddGadgetColumn(a, b, "Столбец " + Str(b), 65)
        Next
        For b = 0 To 2          ; Добавить 4 элемента в каждую строку списка
            AddGadgetItem(a, b, "Элемент 1"+Chr(10)+"Элемент 2"+Chr(10)+"Элемент 3"+Chr(10)+"Элемент 4")
        Next
    Next
    ; Здесь мы изменим отображение ListIcon на большие значки и покажем изображение
    If LoadImage(0, #PB_Compiler_Home+"Examples\Sources\Data\File.bmp") ; Измените путь/имя файла на собственное изображение 32x32 пикселя
        SetGadgetAttribute(5, #PB_ListIcon_DisplayMode, #PB_ListIcon_LargeIcon)
        AddGadgetItem(5, 1, "Картинка 1", ImageID(0))
        AddGadgetItem(5, 2, "Картинка 2", ImageID(0))
    EndIf
    Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

См. также

AddGadgetColumn(), RemoveGadgetColumn(), AddGadgetItem(), RemoveGadgetItem(), ClearGadgetItems(), CountGadgetItems(), GetGadgetState(), SetGadgetState(), GetGadgetAttribute(), SetGadgetAttribute(), GetGadgetItemText(), SetGadgetItemText(), SetGadgetItemImage(), GetGadgetItemState(), SetGadgetItemState(), GetGadgetItemData(), SetGadgetItemData(), GetGadgetItemAttribute(), SetGadgetItemAttribute(), GetGadgetColor(), SetGadgetColor(), GetGadgetItemColor(), SetGadgetItemColor(), ExplorerListGadget(), ListViewGadget()

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

Все

<- IsGadget() - Оглавление Gadget - ListViewGadget()->