Function Reference


_GUICtrlListView_MapIDToIndex

Maps the ID of an item to an index

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

Parameters

$hWnd Control ID/Handle to the control
$iID ID of an item

Return Value

Returns the most current index.

Remarks

ListView controls internally track items by index.
This can present problems because indexes can change during the control's lifetime.

The ListView control can tag an item with an ID when the item is created.
You can use this ID to guarantee uniqueness during the lifetime of the control.

Related

_GUICtrlListView_MapIndexToID

Example

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

Example()

Func Example()
        Local $iID, $idListview

        GUICreate("ListView Map ID To Index", 400, 300)
        $idListview = GUICtrlCreateListView("", 2, 2, 394, 268)
        GUISetState(@SW_SHOW)

        ; Add column
        _GUICtrlListView_AddColumn($idListview, "Items", 100)

        ; Add items
        _GUICtrlListView_AddItem($idListview, "Item 1")
        _GUICtrlListView_AddItem($idListview, "Item 2")
        _GUICtrlListView_AddItem($idListview, "Item 3")

        ; Show ID for item 2
        $iID = _GUICtrlListView_MapIndexToID($idListview, 1)
        MsgBox($MB_SYSTEMMODAL, "Information", "Index to ID: " & $iID)
        MsgBox($MB_SYSTEMMODAL, "Information", "ID to Index: " & _GUICtrlListView_MapIDToIndex($idListview, $iID))

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
        GUIDelete()
EndFunc   ;==>Example