Function Reference

_GUICtrlHeader_Layout

コントロールの正確なサイズと位置を取得します。

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

 

パラメータ

$hWnd コントロールのハンドル
$tRect コントロールの占める長方形を格納した$tagRECT構造体

 

返し値

成功: コントロールのサイズと位置を格納している$tagWINDOWPOS構造体

 

注意

なし。

 

関連

$tagRECT, $tagWINDOWPOS

 


#include <GuiConstantsEx.au3>
#include <GuiHeader.au3>
#include <WinAPI.au3>

Opt('MustDeclareVars', 1)

$Debug_HDR = False ; 関数に渡されるClassNameを調べる。動作を確認するにはTrueを設定し、他のコントロールのハンドルを使用

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $hHeader, $tRect, $tPos

    ; GUIを作成
    $hGUI = GUICreate("Header", 400, 300)
    $hHeader = _GUICtrlHeader_Create ($hGUI)
    $iMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; 列を追加
    _GUICtrlHeader_AddItem ($hHeader, "Column 1", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Column 2", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Column 3", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Column 4", 100)

    ; ヘッダーのレイアウトを取得
    $tRect = _WinAPI_GetClientRect ($hGUI)
    $tPos = _GUICtrlHeader_Layout ($hHeader, $tRect)

    ; ヘッダーのレイアウトを表示
    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"))

    ; ユーザーが終了するまでループ
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main

; メモコントロールに1行書き込み
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite