Mappe l'index d'un élément en ID
#include <GuiListView.au3>
_GUICtrlListView_MapIndexToID ( $hWnd, $iIndex )
$hWnd | ID/handle du contrôle |
$iIndex | Index d'un élément, de base 0 |
Les contrôles ListView, en interne, manipulent les éléments par leur index.
Cela peut poser des problèmes car les index peuvent changer pendant la durée de vie du contrôle.
Le contrôle ListView peut marquer un élément avec un ID lorsque l'élément est créé.
Vous pouvez utiliser cet ID pour garantir l'unicité pendant la durée de vie du contrôle.
#include <GUIConstantsEx.au3> #include <GuiListView.au3> #include <MsgBoxConstants.au3> Example() Func Example() Local $iID, $idListview GUICreate("ListView Map Index To ID", 400, 300) $idListview = GUICtrlCreateListView("", 2, 2, 394, 268) GUISetState(@SW_SHOW) ; Ajoute des colonnes _GUICtrlListView_AddColumn($idListview, "Items", 100) ; Ajoute des éléments _GUICtrlListView_AddItem($idListview, "Item 1") _GUICtrlListView_AddItem($idListview, "Item 2") _GUICtrlListView_AddItem($idListview, "Item 3") ; Afffiche l'ID de l'élément 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)) ; Boucle jusqu'à ce que l'utilisateur quitte. Do Until GUIGetMsg() = $GUI_EVENT_CLOSE GUIDelete() EndFunc ;==>Example