查找最接近指定位置的项目
#Include <GuiListView.au3>
_GUICtrlListView_FindNearest($hWnd, $iX, $iY[, $iDir = 0[, $iStart = -1[, $fWrapOK = True]]])
$hWnd | 控件句柄 |
$iX | X 位置 |
$iY | Y 位置 |
$iDir | [可选参数]指定搜索方向: 0 - 左 1 - 右 2 - 上 3 - 下 4 - 开头 5 - 结尾 6 - 从前一项 7 - 从下一项 |
$iStart | [可选参数] 搜索开始的 0 基索引,或 -1, 从头开始. 指定索引项自身不包括在搜索范围内. |
$fWrapOK | [可选参数] 如为 True, 则没有找到匹配项时,从第一项继续搜索 |
成功: | 返回项目的 0 基索引 |
失败: | 返回 -1 |
#include <GUIConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
$Debug_LV = False ; 检查传递给 ListView 函数的类名, 设置为True并输出到一个控件的句柄,用于检查它是否工作
_Main()
Func _Main()
Global $hImage, $iIndex, $hListView
; 创建 GUI
GUICreate("ListView Find Nearest", 400, 300)
$hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
GUICtrlSetStyle($hListView, $LVS_ICON)
GUISetState()
; 加载图像
$hImage = _GUIImageList_Create()
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0xFF0000, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x00FF00, 16, 16))
_GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($hListView), 0x0000FF, 16, 16))
_GUICtrlListView_SetImageList($hListView, $hImage, 0)
; 添加项目
_GUICtrlListView_AddItem($hListView, "Item 1", 0)
_GUICtrlListView_AddItem($hListView, "Item 2", 1)
_GUICtrlListView_AddItem($hListView, "Item 3", 2)
; Find nearest items
$iIndex = _GUICtrlListView_FindNearest($hListView, 100, 10)
MsgBox(4160, "信息", "Item nearest [100, 10]: " & $iIndex)
$iIndex = _GUICtrlListView_FindNearest($hListView, 200, 10)
MsgBox(4160, "信息", "Item nearest [200, 10]: " & $iIndex)
; 循环直到用户退出
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main