函数参考


GUICtrlCreateEdit

在GUI上创建一个编辑框(Edit)控件.

GUICtrlCreateEdit ( "文本", 左侧, 顶部 [, 宽度 [, 高度 [, 样式 [, 扩展样式]]]] )

参数

文本 编辑框(Edit)控件显示的文本.
左侧 控件左侧的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算左侧位置.
顶部 控件上方的位置.若此值为 -1 则根据 GUICoordMode 的设置来计算上方位置.
宽度 [可选参数] 控件的宽度(默认值(default)为上一个控件的宽度).
高度 [可选参数] 控件的高度(默认值(default)为上一个控件的高度).
样式 [可选参数] 指定控件的样式.请查看附录中关于 GUI 控件样式 的说明.

默认值(-1): $ES_WANTRETURN, $WS_VSCROLL, $WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL
强制性样式:$ES_MULTILINE, $WS_TABSTOP (如果没有 $ES_READONLY(只读))
扩展样式 [可选参数] 指定控件的扩展样式.请查看附录的 扩展样式表.

返回值

成功: 返回新控件的控件标识符(控件ID).
失败: 返回值为0.

注意/说明

若要获得控件的各种值,请参考 GUICtrlRead.
要设置或者修改控件信息,请参考 GUICtrlUpdate....

要在默认样式的基础上添加一个新的样式可使用 BitOr($GUI_SS_DEFAULT_EDIT, 新样式,...).

如果您想拖放一个文件到这个控件,请添加 WS_EX_ACCEPTFILES 扩展样式GUICreate() 并设置状态为 $GUI_DROPACCEPTED.
拖动多个文件会被分割开.

要使用上方指定的值,您必须包含 #include <EditConstants.au3> 在你的脚本中.

默认大小为: $GUI_DOCKAUTO ,坐标随机.

创建一个 RichEdit 控件来结合本控件,将不能再包含一个基本控件.
您可以使用 GuiCtrlCreateObj. 请参考第二个例子,如果您想包含RichEdit 控件.

相关

GUICoordMode (Option), GUICtrlSetData, GUICtrlSetState, GUICtrlSetLimit, GUIGetMsg, GUICtrlRead

示例/演示


#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>

Global $oMyError

Example()
RichEditExample()

Func Example()
    Local $myedit, $msg

    GUICreate("My GUI edit") ; will create a dialog box that when displayed is centered

    $myedit = GUICtrlCreateEdit("First line" & @CRLF, 176, 32, 121, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)

    GUISetState()

    Send("{END}")

    ; will be append dont' forget 3rd parameter
    GUICtrlSetData($myedit, "Second line", 1)

    ; Run the GUI until the dialog is closed
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc   ;==>Example


; Rich edit control EXAMPLE using GUICtrlCreateObj

; Author: K錼e Johansson
; AutoIt Version: 3.1.1.55
; Description: Very Simple example: Embedding RICHTEXT object
; Needs: MSCOMCT2.OCX in system32 but it's probably already there
; Date: 3 jul 2005
Func RichEditExample()
    Local $oRP, $TagsPageC, $AboutC, $PrefsC, $StatC, $GUIActiveX, $msg

    $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")

    $oRP = ObjCreate("RICHTEXT.RichtextCtrl.1")

    GUICreate("Embedded RICHTEXT control Test", 320, 200, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS, $WS_CLIPCHILDREN))
    $TagsPageC = GUICtrlCreateLabel('Visit Tags Page', 5, 180, 100, 15, $SS_CENTER)
    GUICtrlSetFont($TagsPageC, 9, 400, 4)
    GUICtrlSetColor($TagsPageC, 0x0000ff)
    GUICtrlSetCursor($TagsPageC, 0)
    $AboutC = GUICtrlCreateButton('About', 105, 177, 70, 20)
    $PrefsC = GUICtrlCreateButton('FontSize', 175, 177, 70, 20)
    $StatC = GUICtrlCreateButton('Plain Style', 245, 177, 70, 20)

    $GUIActiveX = GUICtrlCreateObj($oRP, 10, 10, 400, 260)
    GUICtrlSetPos($GUIActiveX, 10, 10, 300, 160)

    With $oRP; Object tag pool
        .OLEDrag()
        .Font = 'Arial'
        .text = "Hello - Au3 supports ActiveX components like the RICHTEXT thanks to SvenP" & @CRLF & 'Try write some text and quit to reload'
        ;.FileName = @ScriptDir & '\RichText.rtf'
        ;.BackColor = 0xff00
    EndWith

    GUISetState();Show GUI

    While 1
        $msg = GUIGetMsg()

        Select
            Case $msg = $GUI_EVENT_CLOSE
                $oRP.SaveFile(@ScriptDir & "\RichText.rtf", 0)
                ExitLoop
            Case $msg = $TagsPageC
                Run(@ComSpec & ' /c start http://www.myplugins.info/guids/typeinfo/typeinfo.php?clsid={3B7C8860-D78F-101B-B9B5-04021C009402}', '', @SW_HIDE)
            Case $msg = $AboutC
                $oRP.AboutBox()
            Case $msg = $PrefsC
                $oRP.SelFontSize = 12
            Case $msg = $StatC
                $oRP.SelBold = False
                $oRP.SelItalic = False
                $oRP.SelUnderline = False
                $oRP.SelFontSize = 8
        EndSelect
    WEnd
    GUIDelete()
EndFunc   ;==>RichEditExample

Func MyErrFunc()

    MsgBox(0, "AutoItCOM Test", "We intercepted a COM Error !" & @CRLF & @CRLF & _
            "err.description is: " & @TAB & $oMyError.description & @CRLF & _
            "err.windescription:" & @TAB & $oMyError.windescription & @CRLF & _
            "err.number is: " & @TAB & Hex($oMyError.number, 8) & @CRLF & _
            "err.lastdllerror is: " & @TAB & $oMyError.lastdllerror & @CRLF & _
            "err.scriptline is: " & @TAB & $oMyError.scriptline & @CRLF & _
            "err.source is: " & @TAB & $oMyError.source & @CRLF & _
            "err.helpfile is: " & @TAB & $oMyError.helpfile & @CRLF & _
            "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
            , 5)
    ; Will automatically continue after 5 seconds

    Local $err = $oMyError.number
    If $err = 0 Then $err = -1

    SetError($err) ; to check for after this function returns
EndFunc   ;==>MyErrFunc