Sets the border of paragraph(s) in the current selection or, if no selection, of paragraphs inserted at the insertion point
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetParaBorder ( $hWnd [, $sLocation = Default [, $vLineStyle = Default [, $sColor = Default [, $iSpace = Default]]]] )
$hWnd | Handle to the control |
$sLocation | [optional] a string consisting of any logical combination of: l - left border r - right border t - top border b - bottom border i - inside border o - outside border or "" - no border (initial value) |
$vLineStyle | [optional] line style - one of: "none" - no line (initial value) .75 - 3/4 point 1.5 - 1 1/2 points 2.25 - 2 1/4 points 3 - 3 points 4.5 - 4 1/2 points 6 - 6 points ".75d" - 1/2 points, double "1.5d" - 1 1/2 points, double "2.25d" - 2 1/4 points, double ".75g" - 3/4 point grey ".75gd" - 3/4 point grey dashed |
$sColor | [optional] one of: "aut" - autocolor "blk" - black (initial value) "blu" - blue "cyn" - cyan "grn" - green "mag" - magenta "red" - red "yel" - yellow "whi" - white "dbl" - dark blue "dgn" - dark green "dmg" - dark magenta "drd" - dark red "dyl" - dark yellow "dgy" - dark grey "lgy" - light grey |
$iSpace | [optional] space between the border and the text (in space units) ( (initial value): 0) |
Success: | True. |
Failure: | False and sets the @error flag to non-zero. |
@error: | 101 - $hWnd is not a handle 102 - value of $sLocation is invalid 103 - value of $vLineStyle is invalid 104 - value of $sColor is invalid 105 - $iSpace is neither a positive number nor zero |
To set "space units", call _GUICtrlRichEdit_SetSpaceUnit(). Initially inches.
If text is selected, the defaults are the values of the first paragraph with text selected.
If none is selected, the defaults are the values of the current paragraph.
To remove a border, call with two parameters: ($hWnd, "").
Borders do not show in Rich Edit, but ones created here should show in Word.
_GUICtrlRichEdit_GetParaBorder, _GUICtrlRichEdit_SetSpaceUnit
Search EM_SETPARAFORMAT in MSDN Library.
#include <GUIConstantsEx.au3>
#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
Global $g_idLblMsg, $g_hRichEdit
Example()
Func Example()
Local $hGui, $iMsg, $iStep = 0, $idBtnNext
$hGui = GUICreate("Example (" & StringTrimRight(@ScriptName, StringLen(".exe")) & ")", 320, 350, -1, -1)
$g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "This is a test.", 10, 10, 300, 220, _
BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
$idBtnNext = GUICtrlCreateButton("Next", 270, 310, 40, 30)
GUISetState(@SW_SHOW)
_GUICtrlRichEdit_AppendText($g_hRichEdit, "First paragraph")
Report("0. First paragraph: default settings")
While True
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
_GUICtrlRichEdit_Destroy($g_hRichEdit) ; needed unless script crashes
; GUIDelete() ; is OK too
Exit
Case $iMsg = $idBtnNext
$iStep += 1
Switch $iStep
Case 1
_GUICtrlRichEdit_AppendText($g_hRichEdit, @CRLF & "Second paragraph")
_GUICtrlRichEdit_SetParaBorder($g_hRichEdit, "o", 3, "mag", 0.25)
Report("1. Second paragraph: with border (should show in Word)")
Case 2
_GUICtrlRichEdit_SetSel($g_hRichEdit, 10, -1)
Report("2. Settings of first paragraph in selection")
Case 3
_GUICtrlRichEdit_SetParaBorder($g_hRichEdit, "l", 6, "blu")
Report("3. Settings of both paragraphs changed")
Case 4
_GUICtrlRichEdit_SetParaBorder($g_hRichEdit, Default, ".75gd")
Report("4. Line style changed")
Case 5
; Stream all text to the Desktop so you can look at border settings in Word
_GUICtrlRichEdit_Deselect($g_hRichEdit)
_GUICtrlRichEdit_StreamToFile($g_hRichEdit, @DesktopDir & "\gcre.rtf")
GUICtrlSetState($idBtnNext, $GUI_DISABLE)
EndSwitch
EndSelect
WEnd
EndFunc ;==>Example
Func Report($sMsg)
$sMsg = $sMsg & @CRLF & @CRLF & "Get function returns " & @CRLF & _GUICtrlRichEdit_GetParaBorder($g_hRichEdit)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report