PureBasic

SetGadgetItemData()

Синтаксис

SetGadgetItemData(#Gadget , Item , Value)

Описание


Сохраняет заданное значение в указанном Элементе Гаджета. Это значение позже можно прочитать с помощью функции GetGadgetItemData(). Это позволяет связать пользовательское значение с любым Элементом Гаджета.

Параметры

#Gadget Номер идентифицирующий указанный Гаджет.
Item Элемент, с которым требуется связать заданное значение. Первый элемент Гаджета имеет индекс 0.
Value Значение, которое требуется связать с Элементом Гаджета.

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

Ничего.

Комментарии

Установленное значение останется с элементом, даже если элемент изменит свой индекс (например, потому, что другие элементы были удалены).

Эта функция работает со следующими Гаджетами:
- ComboBoxGadget()
- ListIconGadget()
- ListViewGadget()
- PanelGadget()
- TreeGadget()

Пример

; Этот код использует SetGadgetItemData для хранения исходной позиции
; каждого элемента, чтобы позже узнать его, даже если индекс элементов изменился.
;
If OpenWindow(0, 0, 0, 280, 250, "SetGadgetItemData", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
    ButtonGadget(0, 10, 10, 80, 20, "Добавить")
    ButtonGadget(1, 100, 10, 80, 20, "Удалить")
    ButtonGadget(2, 190, 10, 80, 20, "Протестировать")
    ListViewGadget(3, 10, 40, 260, 200)
    For i = 0 To 10
        AddGadgetItem(3, i, "Старый  Элемент "+Str(i))
        SetGadgetItemData(3, i, i)
    Next i

    Repeat
        Event = WaitWindowEvent()
        If Event = #PB_Event_Gadget
            item = GetGadgetState(3)

            Select EventGadget()
                Case 0 ; Добавить
                    AddGadgetItem(3, item, "Новый Элемент")
                    If item <> -1
                        SetGadgetItemData(3, item, -1)
                    Else
                        SetGadgetItemData(3, CountGadgetItems(3)-1, -1)
                    EndIf

                Case 1 ; Удалить
                    If item <> -1
                        RemoveGadgetItem(3, item)
                    EndIf

                Case 2 ; Протестировать
                    If item <> -1
                        value = GetGadgetItemData(3, item)
                        If value = -1
                            MessageRequester("", "Это новый Элемент")
                        Else
                            MessageRequester("", "Это был элемент Номер "+Str(value))
                        EndIf
                    EndIf

            EndSelect
        EndIf
    Until Event = #PB_Event_CloseWindow
EndIf

См. также

GetGadgetItemData(), GetGadgetData(), SetGadgetData()

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

Все

<- SetGadgetItemColor() - Оглавление Gadget - SetGadgetItemImage()->