函数参考


_GUICtrlEdit_SetRECTNP

设置多行编辑控件的矩形格式,使用坐标值数据数组.

#include <GuiEdit.au3>
_GUICtrlEdit_SetRECTNP($hWnd, $aRect)

参数

$hWnd 控件的控件ID/句柄
$aRect 如下格式的数组:
[0] - 指定矩形左上角 X 坐标.
[1] - 指定矩形左上角 Y 坐标.
[2] - 指定矩形右下角 X 坐标.
[3] - 指定矩形右下角 Y 坐标.

返回值

None.

注意/说明

_GUICtrlEdit_SetRECTNP函数和_GUICtrlEdit_SetRECT函数是相同的, 不过_GUICtrlEdit_SetRECTNP不会重绘编辑控件窗口.

相关

_GUICtrlEdit_SetRectNPEx

示例/演示


#include <GuiEdit.au3>
#include <GuiStatusBar.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Debug_Ed = False ; 检查传递给 Edit 函数的类名, 设置为真并使用另一控件的句柄可以看出它是否有效

_Main()

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

    ; 创建 GUI
    $hGUI = GUICreate("Edit Set RECTNP", 400, 300)
    $hEdit = GUICtrlCreateEdit("", 2, 2, 394, 268, BitOR($ES_WANTRETURN, $WS_VSCROLL))
    $hStatusBar = _GUICtrlStatusBar_Create($hGUI, $aPartRightSide)
    _GUICtrlStatusBar_SetIcon($hStatusBar, 5, 97, "shell32.dll")
    _GUICtrlStatusBar_SetText($hStatusBar, "Rect")
    GUISetState()

    ; 获取矩形
    $aRect = _GUICtrlEdit_GetRECT($hEdit)
    $aRect[0] += 10
    $aRect[1] += 10
    $aRect[2] -= 10
    $aRect[3] -= 10

    ; 添加文本
    _GUICtrlEdit_AppendText($hEdit, FileRead($sFile))
    _GUICtrlEdit_LineScroll($hEdit, 0, _GUICtrlEdit_GetLineCount($hEdit) * - 1)

    ; 设置矩形
    _GUICtrlEdit_SetRECTNP($hEdit, $aRect)

    ; 获取矩形
    $aRect = _GUICtrlEdit_GetRECT($hEdit)
    _GUICtrlStatusBar_SetText($hStatusBar, "Left: " & $aRect[0], 1)
    _GUICtrlStatusBar_SetText($hStatusBar, "Topt: " & $aRect[1], 2)
    _GUICtrlStatusBar_SetText($hStatusBar, "Right: " & $aRect[2], 3)
    _GUICtrlStatusBar_SetText($hStatusBar, "Bottom: " & $aRect[3], 4)

    ; 循环直到用户退出
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
EndFunc   ;==>_Main