# Function Reference

# _GUICtrlListView_GetGroupInfoByIndex

Retrieves group information

#include <GuiListView.au3>
_GUICtrlListView_GetGroupInfoByIndex ( $hWnd, $iIndex )

## Parameters

$hWnd | Control ID/Handle to the control
$iIndex | 0-based index that specifies the group whose information is retrieved

## Return Value

Success: Returns an array with the following format:
[0] - Header text
[1] - Header alignment:
0 - Left
1 - Center
2 - Right
[2] - Group ID
Failure: Returns 1D array with 3 empty elements and sets the @error flag to 1.

## Remarks

Windows Vista or later

## Related

_GUICtrlListView_GetGroupInfo, _GUICtrlListView_SetGroupInfo

## See Also

Search LVM_GETGROUPINFOBYINDEX in MSDN Library.

## Example

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

    Example()

    Func Example()
        GUICreate("ListView Get Group Info (v" & @AutoItVersion & ")", 400, 300)

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

        ; Set ANSI format
    ;~     _GUICtrlListView_SetUnicodeFormat($idListview, False)

        ; Load images
        Local $hImage = _GUIImageList_Create()
        _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0xFF0000, 16, 16))
        _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x00FF00, 16, 16))
        _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap(GUICtrlGetHandle($idListview), 0x0000FF, 16, 16))
        _GUICtrlListView_SetImageList($idListview, $hImage, 1)

        ; Add columns
        _GUICtrlListView_AddColumn($idListview, "Column 1", 100)
        _GUICtrlListView_AddColumn($idListview, "Column 2", 100)
        _GUICtrlListView_AddColumn($idListview, "Column 3", 100)

        ; Add items
        _GUICtrlListView_AddItem($idListview, "Row 1: Col 1", 0)
        _GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 2", 1)
        _GUICtrlListView_AddSubItem($idListview, 0, "Row 1: Col 3", 2)
        _GUICtrlListView_AddItem($idListview, "Row 2: Col 1", 1)
        _GUICtrlListView_AddSubItem($idListview, 1, "Row 2: Col 2", 1)
        _GUICtrlListView_AddItem($idListview, "Row 3: Col 1", 2)

        ; Build groups
        _GUICtrlListView_EnableGroupView($idListview)
        _GUICtrlListView_InsertGroup($idListview, -1, 1, "Group 1", 1)
        _GUICtrlListView_InsertGroup($idListview, -1, 2, "Group 2")
        _GUICtrlListView_SetItemGroupID($idListview, 0, 1)
        _GUICtrlListView_SetItemGroupID($idListview, 1, 2)
        _GUICtrlListView_SetItemGroupID($idListview, 2, 2)

        Local $aInfo
        For $x = 0 To _GUICtrlListView_GetGroupCount($idListview) - 1
            $aInfo = _GUICtrlListView_GetGroupInfoByIndex($idListview, $x)
            If @error Then ConsoleWrite("! ---> @error=" & @error & " @extended=" & @extended & _
                    " : VarGetType=" & VarGetType($aInfo) & _
                    " : Ubound-Row=" & UBound($aInfo) & _
                    @CRLF)
            ConsoleWrite(@CRLF)
            ConsoleWrite("GroupIndex " & $x + 1 & @CRLF & "Text: " & $aInfo[0] & @CRLF & "Group ID: " & $aInfo[2] & @CRLF)
        Next

        MsgBox($MB_TOPMOST, "Check before change", 'First Group HeadrText/Alignment/State')

        ; Change group information
        _GUICtrlListView_SetGroupInfo($idListview, 1, "New Group 1 (Minimum OS: Vista)", 2, $LVGS_COLLAPSIBLE)
        MsgBox($MB_TOPMOST, "Check after change", 'First Group HeadrText/Alignment/State')

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

        GUIDelete()
        ConsoleWrite(@CRLF)
    EndFunc   ;==>Example