Findet das Item, welches sich am nächsten bei der bestimmten Position befindet
#include <GuiListView.au3>
_GUICtrlListView_FindNearest ( $hWnd, $iX, $iY [, $iDir = 0 [, $iStart = -1 [, $bWrapOK = True]]] )
$hWnd | Control-ID / Handle des Controls |
$iX | X-Koordinate |
$iY | Y-Koordinate |
$iDir | [optional] Bestimmt in welche Richtung gesucht werden soll: $LVFN_DIR_LEFT (0) - links $LVFN_DIR_RIGHT (1) - rechts $LVFN_DIR_UP (2) - oben $LVFN_DIR_DOWN (3) - unten $LVFN_DIR_START (4) - vom Start $LVFN_DIR_END (5) - vom Ende $LVFN_DIR_PRIOR (6) - vom vorherigen Item $LVFN_DIR_NEXT (7) - vom nächsten Item |
$iStart | [optional] 0-basierender Index des Items, von dem aus die Suche beginnen soll oder -1 um von Beginn an zu suchen. Das bestimmte Item wird bei der Suche nicht mit eingeschlossen. |
$bWrapOK | [optional] Falls True wird die Suche mit dem ersten Item fortgesetzt, falls nichts passendes gefunden wurde |
Erfolg: | Der 0-basierende Index des Items |
Fehler: | -1 |
Diese Funktion wird nur im Modus "großen Icons" und "kleine Icons" funktionieren
- - - - - - - - Erklärung der Controls - - - - - - - -
#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiListView.au3>
#include <MsgBoxConstants.au3>
Example()
Func Example()
; Erstellt eine GUI
GUICreate("ListView: Findet das nächste Item (v" & @AutoItVersion & ")", 400, 300)
Local $idListview = GUICtrlCreateListView("", 2, 2, 394, 268)
GUICtrlSetStyle($idListview, $LVS_ICON)
GUISetState(@SW_SHOW)
; Setzt das ANSI Format
;~ _GUICtrlListView_SetUnicodeFormat($idListview, False)
; Lädt die Bilder
Local $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)
; Fügt die Items hinzu
_GUICtrlListView_AddItem($idListview, "Item 1", 0)
_GUICtrlListView_AddItem($idListview, "Item 2", 1)
_GUICtrlListView_AddItem($idListview, "Item 3", 2)
; Findet das Item, welches sich am nächsten bei der bestimmten Position befindet
Local $iIndex = _GUICtrlListView_FindNearest($idListview, 100, 10)
MsgBox($MB_SYSTEMMODAL, "Information", "Das nächste Item [100, 10]: " & $iIndex)
$iIndex = _GUICtrlListView_FindNearest($idListview, 200, 10)
MsgBox($MB_SYSTEMMODAL, "Information", "Das nächste Item [200, 10]: " & $iIndex)
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>Example