#include <GUIConstantsEx.au3>
#include <GuiImageList.au3>
#include <GuiTab.au3>

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

_Main()

Func _Main()
	Local $hGUI, $aHit, $iTab, $hTab, $aPos, $hImage

	; Создаёт GUI
	$hGUI = GUICreate("HitTest элемента Tab", 400, 300)
	$iTab = GUICtrlCreateTab(2, 2, 396, 296)
	$hTab = GUICtrlGetHandle(-1)
	GUISetState()

	; Вставляет вкладки
	_GUICtrlTab_InsertItem($hTab, 0, "Вкладка 1")
	_GUICtrlTab_InsertItem($hTab, 1, "Вкладка 2")
	_GUICtrlTab_InsertItem($hTab, 2, "Вкладка 3")

	; Создаёт список изображений
	$hImage = _GUIImageList_Create(16, 16, 5, 3)
	_GUIImageList_AddIcon($hImage, "shell32.dll", 4)
	_GUICtrlTab_SetImageList($hTab, $hImage)
	; Устанавливает изображение на вкладку
	_GUICtrlTab_SetItemImage($hTab, 1, 0)

	; Цикл выполняется, пока окно не будет закрыто
	While 1
		Switch GUIGetMsg()
			Case $GUI_EVENT_MOUSEMOVE
				$aPos = _GetCursorClientPos($hTab) ; Получает клиентские координаты курсора
				$aHit = _GUICtrlTab_HitTest($hTab, $aPos[0], $aPos[1])
				ToolTip('[0]= ' & $aHit[0] & @CRLF & '[1]= ' & $aHit[1])
			Case $GUI_EVENT_CLOSE
				Exit
		EndSwitch
	WEnd
	GUIDelete()
EndFunc   ;==>_Main

Func _GetCursorClientPos($hWnd)
	Local $aPos = MouseGetPos() ; Получает абсолютные координаты
	Local $tPoint = DllStructCreate("int X;int Y") ; Создаёт структуру
	; Вставляет координаты
	DllStructSetData($tPoint, "X", $aPos[0])
	DllStructSetData($tPoint, "Y", $aPos[1])
	_WinAPI_ScreenToClient($hWnd, $tPoint) ; Преобразовывает в клиентские
	; Извлекает из структуры
	$aPos[0] = DllStructGetData($tPoint, "X")
	$aPos[1] = DllStructGetData($tPoint, "Y")
	Return $aPos
EndFunc   ;==>_GetCursorClientPos