コントロールの正確なサイズと位置を取得します。
#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