# Function Reference

# _GUICtrlListView_GetGroupRect

Gets the rectangle for a specified group

#include <GuiListView.au3>
_GUICtrlListView_GetGroupRect ( $hWnd, $iGroupID [, $iGet = $LVGGR_GROUP] )

## Parameters

$hWnd | Control ID/Handle to the control
$iGroupID | ID that specifies the group whose information is retrieved
$iGet | [optional] Flag to specify the coordinates of the rectangle to get, can be one of the following: $LVGGR_GROUP - Coordinates of the entire expanded group $LVGGR_HEADER - Coordinates of the header only (collapsed group) $LVGGR_LABEL - Coordinates of the label only $LVGGR_SUBSETLINK - Coordinates of the subset link only (markup subset)

## Return Value

Returns an array with the following format:
[0] - Specifies the x-coordinate of the upper-left corner of the rectangle
[1] - Specifies the y-coordinate of the upper-left corner of the rectangle
[2] - Specifies the x-coordinate of the lower-right corner of the rectangle
[3] - Specifies the y-coordinate of the lower-right corner of the rectangle

## Remarks

Windows Vista or later

## Example

### Example 1

    #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)

        ; Get rect of Group ID 2
        Local $aInfo = _GUICtrlListView_GetGroupRect($idListview, 2)
        MsgBox($MB_SYSTEMMODAL, "Information", "Rect: " & @CRLF & _
                @TAB & "Left..: " & $aInfo[0] & @CRLF & _
                @TAB & "Top...: " & $aInfo[1] & @CRLF & _
                @TAB & "Right.: " & $aInfo[2] & @CRLF & _
                @TAB & "Bottom: " & $aInfo[3])

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

        GUIDelete()
    EndFunc   ;==>Example

### Example 2

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

    Example() ; A ListView control created with an external ListView

    Func Example()
        Local $sExternalScript = StringReplace(@ScriptName, "[2]", "")
        Local $iPID = Run(@AutoItExe & " " & $sExternalScript)
        Local $hWin = WinWaitActive("ListView Get Group Info", "")

        Local $hListView = _WinAPI_EnumChildWindows($hWin)[1][0]

        ; Get rect of Group ID 2
        Local $aInfo = _GUICtrlListView_GetGroupRect($hListview, 2)
        MsgBox($MB_SYSTEMMODAL, "Information (external)", "Rect :" & @TAB & @TAB & @TAB & @CRLF & _
                @TAB & "Left..: " & $aInfo[0] & @CRLF & _
                @TAB & "Top...: " & $aInfo[1] & @CRLF & _
                @TAB & "Right.: " & $aInfo[2] & @CRLF & _
                @TAB & "Bottom: " & $aInfo[3])

        ProcessClose($iPID)

    EndFunc   ;==>Example