_GUICtrlHeader_HitTest
Определяет, какой пункт находится в указанных координатах
#include <GuiHeader.au3>
_GUICtrlHeader_HitTest($hWnd, $iX, $iY)
Параметры
$hWnd | Дескриптор элемента |
$iX |
X-координата |
$iY |
Y-координата |
Возвращаемое значение
Успех: Возвращает массив следующего формата:Пример
#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