函数参考


_GUICtrlListView_FindNearest

查找最接近指定位置的项目

#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

注意/说明

 函数只支持大图标和小图标模式.

相关

_GUICtrlListView_FindItem

示例/演示


#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