# Function Reference

# _GUICtrlListView_SetItem

Sets some or all of a item's attributes

#include <GuiListView.au3>
_GUICtrlListView_SetItem ( $hWnd, $sText [, $iIndex = 0 [, $iSubItem = 0 [, $iImage = -1 [, $iParam = -1 [, $iIndent = -1]]]]] )

## Parameters

$hWnd | Control ID/Handle to the control
$sText | Item text. See remark.
$iIndex | [optional] The 0-based index of the item
$iSubItem | [optional] 1-based index of the subitem or zero if this refers to an item
$iImage | [optional] 0-base index of the item's icon in the control's image list
$iParam | [optional] Value specific to the item
$iIndent | [optional] Number of image widths to indent the item. A single indentation equals the width of an image.

## Return Value

Success: | True.
Failure: | False.

## Remarks

If a notification callback is needed, you have to specify $sText = -1 (LPSTR_TEXTCALLBACK).
As AutoIt uses the $iParam parameter to store the controlID of native-created ListView items, this value should be set sufficiently high for UDF-created items to avoid possible conflict with any existing controls - a starting value of 1000 is recommended.

## Related

_GUICtrlListView_GetItem, _GUICtrlListView_SetItemEx

## Example

    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <MsgBoxConstants.au3>

    Example()

    Func Example()
        Local $aItem, $idListview

        GUICreate("ListView Get/Set Item (v" & @AutoItVersion & ")", 400, 300)

        $idListview = GUICtrlCreateListView("", 2, 2, 394, 268)
        GUISetState(@SW_SHOW)

        ; Add column
        _GUICtrlListView_AddColumn($idListview, "Items", 100)

        ; Add items
        GUICtrlCreateListViewItem("Row 0", $idListview)
        GUICtrlCreateListViewItem("Row 1", $idListview)
        GUICtrlCreateListViewItem("Row 2", $idListview)

        ; Show item 1 text
        $aItem = _GUICtrlListView_GetItem($idListview, 1)
        MsgBox($MB_SYSTEMMODAL, "Information", "Item 1 Text: " & $aItem[3])

        ; Change item 1
        MsgBox($MB_SYSTEMMODAL, "Information", "Changing item 1")
        _GUICtrlListView_SetItem($idListview, "New Item 1", 1)

        ; Loop until the user exits.
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE

        GUIDelete()
    EndFunc   ;==>Example