Maps the ID of an item to an index
#include <GuiListView.au3>
_GUICtrlListView_MapIDToIndex ( $hWnd, $iID )
$hWnd | Control ID/Handle to the control |
$iID | ID of an item |
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.
#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