_GUICtrlHeader_Layout
Возвращает размер и позицию элемента Header
#include <GuiHeader.au3>
_GUICtrlHeader_Layout($hWnd, ByRef $tRect)
Параметры
$hWnd | Дескриптор элемента |
$tRect |
Структура $tagRECT, содержащая прямоугольник занимаемый элементом. |
Возвращаемое значение
Успех: Возвращает структуру $tagWINDOWPOS, содержащую размер и позицию элемента HeaderСм. также
$tagRECT, $tagWINDOWPOSПример
#include <GUIConstantsEx.au3>
#include <GuiHeader.au3>
#include <WinAPI.au3>
$Debug_HDR = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $hHeader, $tRect, $tPos
; Создаёт 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)
; Get header layout
$tRect = _WinAPI_GetClientRect ($hGUI)
$tPos = _GUICtrlHeader_Layout ($hHeader, $tRect)
; Show header layout
MemoWrite("Дескриптор ...................: " & DllStructGetData($tPos, "hWnd"))
MemoWrite("Позиция в Z-последовательности: " & DllStructGetData($tPos, "InsertAfter"))
MemoWrite("X-координата левого края .....: " & DllStructGetData($tPos, "X"))
MemoWrite("Y-координата верхнего края ...: " & DllStructGetData($tPos, "Y"))
MemoWrite("Ширина .......................: " & DllStructGetData($tPos, "CX"))
MemoWrite("Высота .......................: " & DllStructGetData($tPos, "CY"))
MemoWrite("Флаги ........................: " & DllStructGetData($tPos, "Flags"))
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite