Function Reference

_GUICtrlEdit_GetRECTEx

エディットコントロールのフォーマット済み長方形を取得します。

#Include <GuiEdit.au3>
_GUICtrlEdit_GetRECTEx($hWnd)

 

パラメータ

$hWnd コントロールのハンドル

 

返し値

成功: エディットコントロールのフォーマット済み長方形を受け取った$tagRECT構造体

 

注意

特定の状況下では、_GUICtrlEdit_GetRECTは_GUICtrlEdit_SetRECTが設定した正確な値を返しません。
値は近似値で、誤差は数ピクセルです。

 

関連

_GUICtrlEdit_GetRECT, $tagRECT

 


#AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6
#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GuiConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

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

_Main()

Func _Main()
    Local $StatusBar, $hEdit, $hGUI
    Local $Wow64 = ""
    If @AutoItX64 Then $Wow64 = "\Wow6432Node"
    Local $sFile = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE" & $Wow64 & "\AutoIt v3\AutoIt", "InstallDir") & "\include\changelog.txt"
    Local $aPartRightSide[6] = [50, 130, 210, 290, 378, -1], $tRect

    ; GUI作成
    $hGUI = GUICreate("Edit Get RECTEx", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $StatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($StatusBar, 5, 97, "shell32.dll")
    _GUICtrlStatusBar_SetText($StatusBar, "Rect")
    GUISetState()

    ; 長方形を取得(別バージョン)
    $tRect = _GUICtrlEdit_GetRECTEx($hEdit)
    DllStructSetData($tRect, "Left", DllStructGetData($tRect, "Left") + 10)
    DllStructSetData($tRect, "Top", DllStructGetData($tRect, "Top") + 10)
    DllStructSetData($tRect, "Right", DllStructGetData($tRect, "Right") - 10)
    DllStructSetData($tRect, "Bottom", DllStructGetData($tRect, "Bottom") - 10)

    ; 長方形を設定(別バージョン)
    _GUICtrlEdit_SetRECTEx($hEdit, $tRect)

    ; テキストを追加
    _GUICtrlEdit_AppendText($hEdit, FileRead($sFile))
    _GUICtrlEdit_LineScroll($hEdit, 0, _GUICtrlEdit_GetLineCount($hEdit) * - 1)

    ; 長方形を取得(別バージョン)
    $tRect = _GUICtrlEdit_GetRECTEx($hEdit)
    _GUICtrlStatusBar_SetText($StatusBar, "Left: " & DllStructGetData($tRect, "Left"), 1)
    _GUICtrlStatusBar_SetText($StatusBar, "Topt: " & DllStructGetData($tRect, "Top"), 2)
    _GUICtrlStatusBar_SetText($StatusBar, "Right: " & DllStructGetData($tRect, "Right"), 3)
    _GUICtrlStatusBar_SetText($StatusBar, "Bottom: " & DllStructGetData($tRect, "Bottom"), 4)

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