Function Reference

_GUICtrlListView_MapIndexToID

インデックスをアイテムIDにマップします。

#Include <GuiListView.au3>
_GUICtrlListView_MapIndexToID($hWnd, $iIndex)

 

パラメータ

$hWnd コントロールのハンドル
$iIndex アイテムのゼロ始まりのインデックス

 

返し値

アイテムのIDを返します。

 

注意

必須OS:Windows XP以降

リストビューコントロールは内部的にはアイテムをインデックスで識別しています。
インデックスはコントロールの有効期間中に変えることができるため、この事は問題を引き起こす可能性があります。
一方でリストビューコントロールはアイテムが作成された際にアイテムをIDでタグします。
このIDを使用することでコントロールの有効期間中のアイテムの一意性を保証することができます。

 

関連

_GUICtrlListView_MapIDToIndex

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiConstantsEx.au3>
#include <GuiListView.au3>

Opt('MustDeclareVars', 1)

$Debug_LV = False ; ListView関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

_Main()

Func _Main()
    Local $iID, $hListView
   
    GUICreate("ListView Map Index  To ID", 400, 300)
    $hListView = GUICtrlCreateListView("", 2, 2, 394, 268)
    GUISetState()

    ; 列を追加
    _GUICtrlListView_AddColumn($hListView, "Items", 100)

    ; アイテムを追加
    _GUICtrlListView_AddItem($hListView, "Item 1")
    _GUICtrlListView_AddItem($hListView, "Item 2")
    _GUICtrlListView_AddItem($hListView, "Item 3")

    ; アイテム2のIDを表示
    $iID = _GUICtrlListView_MapIndexToID($hListView, 1)
    MsgBox(4160, "Information", "Index to ID: " & $iID)
    MsgBox(4160, "Information", "ID to Index: " & _GUICtrlListView_MapIDToIndex($hListView, $iID))

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main