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 "WinAPISysWin.au3"
#include <GuiListView.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