#include <GUIConstantsEx.au3>
#include <GuiHeader.au3>

$Debug_HDR = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

Global $iMemo

_Main()

Func _Main()
	Local $hGUI, $hHeader, $aHT

	; Создаёт GUI
	$hGUI = GUICreate(StringTrimRight(@ScriptName, 4), 400, 300)
	$hHeader = _GUICtrlHeader_Create ($hGUI)
	_GUICtrlHeader_SetUnicodeFormat ($hHeader, True)
	$iMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
	GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
	GUISetState()

	; Добавляет колонки
	_GUICtrlHeader_AddItem ($hHeader, "Колонка 1", 100)
	_GUICtrlHeader_AddItem ($hHeader, "Колонка 2", 100)
	_GUICtrlHeader_AddItem ($hHeader, "Колонка 3", 100)
	_GUICtrlHeader_AddItem ($hHeader, "Колонка 4", 100)

	; Выполняет проверку нажатия на колонке 2
	$aHT = _GUICtrlHeader_HitTest ($hHeader, 110, 10)
	MemoWrite("Индекс пункта ..........: " & $aHT[ 0])
	MemoWrite("в клиентской области ...: " & $aHT[ 1])
	MemoWrite("в прямоугольнике .......: " & $aHT[ 2])
	MemoWrite("на разделителе .........: " & $aHT[ 3])
	MemoWrite("на разделителе шириной 0: " & $aHT[ 4])
	MemoWrite("над областью фильтра ...: " & $aHT[ 5])
	MemoWrite("на кнопке фильтра ......: " & $aHT[ 6])
	MemoWrite("выше прямоугольника ....: " & $aHT[ 7])
	MemoWrite("ниже прямоугольника ....: " & $aHT[ 8])
	MemoWrite("правее прямоугольника ..: " & $aHT[ 9])
	MemoWrite("левее прямоугольника ...: " & $aHT[10])

	; Цикл выполняется, пока окно не будет закрыто
	Do
	Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
	GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite