函数参考


_GUICtrlRichEdit_SetParaBorder

设置(第一)当前选择(或没有选择时的插入点所在段落)的边框

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetParaBorder($hWnd [, $sLocation [, $vLineStyle [, $sColor [, $iSpace]]]])

参数

$hWnd 控件句柄
$sLocation [可选参数] 逻辑组合字符串:
   l - 左边框
   r - 右 边框
   t - 顶边框
   b - 底边框
   i - 内边框
   o - 外边框
或 "" - 无边框 (初始值)
$vLineStyle [可选参数] 线条样式:
   "none" - 没有线条 (初始值)
   .75 - 3/4 磅
   1.5 - 1 1/2 磅
   2.25 - 2 1/4 磅
   3 - 3 磅
   4.5 - 4 1/2 磅
   6 - 6 磅
   ".75d" - 1/2 磅, 双精度
   "1.5d" - 1 1/2 磅, 双精度
   "2.25d" - 2 1/4 磅, 双精度
   ".75g" - 3/4 磅灰
   ".75gd" - 3/4 磅 灰短划线
$sColor [可选参数] 下列值:
   "aut" - 自动
   "blk" - 黑色 (初始值)
   "blu" - 蓝色
   "cyn" - 青色
   "grn" - 绿色
   "mag" - 紫色
   "red" -红
   "yel" -黄
   "whi" - 白色
   "dbl" - 暗蓝
   "dgn" - 暗绿
   "dmg" - 暗紫
   "drd" - 暗红
   "dyl" - 暗黄
   "dgy" - 暗灰
   "lgy" - 亮灰
$iSpace [可选参数] 边框和文本的间距(空间单位, 初始值: 0)

返回值

成功: 返回 True
失败: 返回 False,设置@error
@error: 101 - $hWnd 参数值不是句柄
102 - $sLocation 参数值无效
103 - $ivLineStyle 参数值无效
104 - $sColor 参数值无效
105 - $iSpace 不是正数,也不是 0

注意/说明

调用 _GUICtrlRichEdit_SetSpaceUnit 函数设置 "空间单位". 最初为英寸

如果文本被选中,默认为第一选定段落的文本值.
如果没有选中,默认为当前段落的值.

要删除边框,调用两个参数: ($hWnd, "")

边框不显示在 RichEdit 中,但在这里创建的设置,应该在 Word 中显示

相关

_GUICtrlRichEdit_GetParaBorder, _GUICtrlRichEdit_SetSpaceUnit

详情参考

在MSDN中搜索


示例/演示


#include <GuiRichEdit.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Global $lblMsg, $hRichEdit

Main()

Func Main()
    Local $hGui, $iMsg, $iStep = 0, $btnNext
    $hGui = GUICreate("Example (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, "This is a test.", 10, 10, 300, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    $btnNext = GUICtrlCreateButton("Next", 270, 310, 40, 30)
    GUISetState()

    _GUICtrlRichEdit_AppendText($hRichEdit, "First paragraph")
    Report("0. First paragraph: default settings")

    While True
        $iMsg = GUIGetMsg()
        Select
            Case $iMsg = $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit) ; 除非脚本崩溃才需要
;~              GUIDelete()     ; 同样行
                Exit
            Case $iMsg = $btnNext
                $iStep += 1
                Switch $iStep
                    Case 1
                        _GUICtrlRichEdit_AppendText($hRichEdit, @CR & "Second paragraph")
                        _GUICtrlRichEdit_SetParaBorder($hRichEdit, "o", 3, "mag", 0.25)
                        Report("1. Second paragraph: with border (should show in Word)")
                    Case 2
                        _GUICtrlRichEdit_SetSel($hRichEdit, 10, -1)
                        Report("2. Settings of first paragraph in selection")
                    Case 3
                        _GUICtrlRichEdit_SetParaBorder($hRichEdit, "l", 6, "blu")
                        Report("3. Settings of both paragraphs changed")
                    Case 4
                        _GUICtrlRichEdit_SetParaBorder($hRichEdit, Default, ".75gd")
                        Report("4. Line style changed")
                    Case 5
                        ; 把所有的文本流保存到桌面,这样您可以在 Word 中查看边框设置.
                        _GUICtrlRichEdit_Deselect($hRichEdit)
                        _GUICtrlRichEdit_StreamToFile($hRichEdit, @DesktopDir & "\gcre.rtf")
                        GUICtrlSetState($btnNext, $GUI_DISABLE)
                EndSwitch
        EndSelect
    WEnd
EndFunc   ;==>Main

Func Report($sMsg)
    $sMsg = $sMsg & @CR & @CR & "Get function returns " & @CR & _GUICtrlRichEdit_GetParaBorder($hRichEdit)
    GUICtrlSetData($lblMsg, $sMsg)
    ControlFocus($hRichEdit, "", "")
EndFunc   ;==>Report