指定された位置に最も近いアイテムを検索します。
#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 | [オプション]検索開始位置のアイテムのゼロ始まりのインデックス。-1の場合は先頭から検索します。 指定されたアイテム自体は検索対象に含まれません。 |
$fWrapOK | [オプション]Trueの場合、一致するものがみつからなかった際に1番目のアイテムから検索が継続実行されます。 |
返し値
成功: | アイテムのゼロ始まりのインデックス |
失敗: | -1 |
注意
この関数はラージアイコンモード、スモールアイコンモードでのみサポートされています。
関連
_GUICtrlListView_FindItem
例
#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>
#include <GuiImageList.au3>
Opt('MustDeclareVars', 1)
$Debug_LV = False ; ListView関数に渡されるClassNameを調べる。動作を確認するには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)
; もっと近いアイテムを検索
$iIndex = _GUICtrlListView_FindNearest($hListView, 100, 10)
MsgBox(4160, "Information", "Item nearest [100, 10]: " & $iIndex)
$iIndex = _GUICtrlListView_FindNearest($hListView, 200, 10)
MsgBox(4160, "Information", "Item nearest [200, 10]: " & $iIndex)
; ユーザーが終了するまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
GUIDelete()
EndFunc ;==>_Main