# Function Reference

# _GUICtrlHeader_GetItem

Retrieves information about an item

#include <GuiHeader.au3>
_GUICtrlHeader_GetItem ( $hWnd, $iIndex, ByRef $tItem )

## Parameters

$hWnd | Handle to the control
$iIndex | 0-based item index
$tItem | $tagHDITEM structure

## Return Value

Success: | True, @extended can be set (see remark).
Failure: | False.

## Remarks

If $hWnd referenced control is not in the same process and both processes run in different AutoIt mode (@AutoItVersion),
the @extended is set so that the $tItem need to be adapted for ptr sizing.
When the message is sent, the mask member indicates the type of information being requested.
When the message returns, the other members receive the requested information.
If the mask member specifies zero, the message returns True but copies no information to the structure.

## Related

$tagHDITEM, _GUICtrlHeader_SetItem

## Example

    #include "Extras\HelpFileInternals.au3"

    #include <GUIConstantsEx.au3>
    #include <GuiHeader.au3>
    #include <GuiImageList.au3>
    #include <StructureConstants.au3>
    #include <WinAPIGdi.au3>

    Example()

    Func Example()
        ; Create GUI
        Local $hGUI = GUICreate("Header Get/Set Item (v" & @AutoItVersion & ")", 450, 300, 100, 100)
        Local $hHeader = _GUICtrlHeader_Create($hGUI)
        _GUICtrlHeader_SetUnicodeFormat($hHeader, True)
        _MemoCreate(2, 52, 444, 220)

        GUISetState(@SW_SHOW)

        ; Create an image list with images
        Local $hImage = _GUIImageList_Create(11, 11)
        _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0xFF0000, 11, 11))
        _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x00FF00, 11, 11))
        _GUIImageList_Add($hImage, _WinAPI_CreateSolidBitmap($hGUI, 0x0000FF, 11, 11))
        _GUICtrlHeader_SetImageList($hHeader, $hImage)

        ; Add columns
        _GUICtrlHeader_AddItem($hHeader, "Column 0", 100, 0, 0)
        _GUICtrlHeader_AddItem($hHeader, "Column 1", 100, 0, 1)
        _GUICtrlHeader_AddItem($hHeader, "Column 2", 100, 0, 2)
        _GUICtrlHeader_AddItem($hHeader, "Column 3", 100)

        ; Set column 2 image index
        Local $tItem = DllStructCreate($tagHDITEM)
        DllStructSetData($tItem, "Mask", $HDI_IMAGE)
        DllStructSetData($tItem, "Image", 0)
        _GUICtrlHeader_SetItem($hHeader, 2, $tItem)

        ; Show column 2 image index
        $tItem = DllStructCreate($tagHDITEM)
        DllStructSetData($tItem, "Mask", $HDI_IMAGE)
        _GUICtrlHeader_GetItem($hHeader, 2, $tItem)
        _MemoWrite("Column 2 image index: " & DllStructGetData($tItem, "Image"))

        _MemoMsgBoxStatus("", -1, $hGUI) ; no more action, wait GUI for closing

    EndFunc   ;==>Example