↑  ←  Описание функции


_GUICtrlListView_MapIDToIndex

Определяет индекс по идентификатору (ID)

#include <GuiListView.au3>
_GUICtrlListView_MapIDToIndex($hWnd, $iID)

Параметры

$hWnd Дескриптор или идентификатор элемента
$iID Идентификатор (ID) пункта

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

Возвращает текущий индекс

Примечания

Минимальная ОС - Windows XP.

ListView интерпретирует пункты по индексу. Это вызывает проблемы, потому что индексы могут изменяться в течение времени, например при удалении пунктов.

ListView присваивает пункту идентификатор (ID) при его создании. Используйте этот идентификатор (ID), чтобы гарантировать точную связь с пунктом в течение существования этого пункта в ListView.

См. также

_GUICtrlListView_MapIndexToID

Пример

#include <GUIConstantsEx.au3>
#include <GuiListView.au3>

$Debug_LV = False ; Проверяет ClassName передаваемый в ListView функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

_Main()

Func _Main()
    Local $iID, $hListView

    GUICreate("Преобразует идентификатор в индекс", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; Добавляет колонку
    _GUICtrlListView_AddColumn($hListView, "Пункты", 100)

    ; Добавляет пункты
    _GUICtrlListView_AddItem($hListView, "Пункт 1")
    _GUICtrlListView_AddItem($hListView, "Пункт 2")
    _GUICtrlListView_AddItem($hListView, "Пункт 3")

    ; Показывает ID 2-го пункта
    $iID = _GUICtrlListView_MapIndexToID($hListView, 1)
    MsgBox(4160, "Информация", "Индекс в ID: " & $iID &@CRLF& _
    "ID в индекс: " & _GUICtrlListView_MapIDToIndex($hListView, $iID))

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main