UDF > GUI > GuiListView >


_GUICtrlListView_FindNearest

Trouve l'élément le plus proche de la position spécifiée

#include <GuiListView.au3>
_GUICtrlListView_FindNearest ( $hWnd, $iX, $iY [, $iDir = 0 [, $iStart = -1 [, $bWrapOK = True]]] )

Paramètres

$hWnd ID/handle du contrôle
$iX Coordonnée X
$iY Coordonnée Y
$iDir [optionnel] Indique la direction dans laquelle rechercher:
    $LVFN_DIR_LEFT (0) - Vers la gauche
    $LVFN_DIR_RIGHT (1) - Vers la droite
    $LVFN_DIR_UP (2) - Vers le haut
    $LVFN_DIR_DOWN (3) - Vers le bas
    $LVFN_DIR_START (4) - A partir du début
    $LVFN_DIR_END (5) - A partir de la fin
    $LVFN_DIR_PRIOR (6) - A partir de l'élément avant
    $LVFN_DIR_NEXT (7) - A partir de l'élément suivant
$iStart [optionnel] Index de l'élément, de base 0, à partir duquel lancer la recherche ou -1 pour commencer depuis le début.
L'élément spécifié est lui-même exclu de la recherche.
$bWrapOK [optionnel] Si True, la recherche se poursuivra avec le premier élément si aucune correspondance n'est trouvée

Valeur de retour

Succès: Retourne l'index de l'élément, de base 0.
Échec: Retourne -1.

Remarque

Cette fonction est uniquement prise en charge dans le mode grandes icônes et petites icônes.

En relation

_GUICtrlListView_FindItem

Exemple

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

Example()

Func Example()
    Local $hImage, $iIndex, $idListview

    ; Crée une GUI
    GUICreate("ListView Find Nearest", 400, 300)
    $idListview = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUICtrlSetStyle($idListview, $LVS_ICON)
    GUISetState(@SW_SHOW)

    ; Charge les images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($idListview, $hImage, 0)

    ; Ajoute des éléments
    _GUICtrlListView_AddItem($idListview, "Item 1", 0)
    _GUICtrlListView_AddItem($idListview, "Item 2", 1)
    _GUICtrlListView_AddItem($idListview, "Item 3", 2)

    ; Trouve l'élément le plus proche
    $iIndex = _GUICtrlListView_FindNearest($idListview, 100, 10)
    MsgBox($MB_SYSTEMMODAL, "Information", "Item nearest [100, 10]: " & $iIndex)

    $iIndex = _GUICtrlListView_FindNearest($idListview, 200, 10)
    MsgBox($MB_SYSTEMMODAL, "Information", "Item nearest [200, 10]: " & $iIndex)

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

    GUIDelete()
EndFunc   ;==>Example