UDF > GUI > GuiHeader >


_GUICtrlHeader_Layout

Obtient la taille et la position d'un contrôle Header

#include <GuiHeader.au3>
_GUICtrlHeader_Layout ( $hWnd, ByRef $tRect )

Paramètres

$hWnd Handle du contrôle
$tRect La structure $tagRECT qui contient le rectangle que le contrôle occupe.

Valeur de retour

Retourne une structure $tagWINDOWPOS qui contient la taille et la position du contrôle.

En relation

$tagRECT, $tagWINDOWPOS

Exemple

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

Global $g_idMemo

Example()

Func Example()
    Local $hGUI, $hHeader, $tRECT, $tPos

    ; Crée une GUI
    $hGUI = GUICreate("Header", 400, 300)
    $hHeader = _GUICtrlHeader_Create($hGUI)
    _GUICtrlHeader_SetUnicodeFormat($hHeader, True)
    $g_idMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
    GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
    GUISetState(@SW_SHOW)

    ; Ajoute des colonnes
    _GUICtrlHeader_AddItem($hHeader, "Column 1", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 2", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 3", 100)
    _GUICtrlHeader_AddItem($hHeader, "Column 4", 100)

    ; Obtient la disposition
    $tRECT = _WinAPI_GetClientRect($hGUI)
    $tPos = _GUICtrlHeader_Layout($hHeader, $tRECT)

    ; Affiche la disposition
    MemoWrite("Window handle .....: " & DllStructGetData($tPos, "hWnd"))
    MemoWrite("Z order handle ....: " & DllStructGetData($tPos, "InsertAfter"))
    MemoWrite("Horizontal position: " & DllStructGetData($tPos, "X"))
    MemoWrite("Vertical position .: " & DllStructGetData($tPos, "Y"))
    MemoWrite("Width .............: " & DllStructGetData($tPos, "CX"))
    MemoWrite("Height ............: " & DllStructGetData($tPos, "CY"))
    MemoWrite("Flags .............: " & DllStructGetData($tPos, "Flags"))

    ; Boucle jusqu'à ce que l'utilisateur quitte.
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>Example

; Ecrit une ligne dans le contrôle mémo
Func MemoWrite($sMessage)
    GUICtrlSetData($g_idMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite