Sets indents of paragraph(s) in the current selection or, if no selection, of paragraphs inserted at the insertion point
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetParaIndents ( $hWnd [, $vLeft = Default [, $iRight = Default [, $iFirstLine = Default]]] )
$hWnd | Handle to the control |
$vLeft | [optional] indentation of left side of the body of the paragraph (in space units) absolute - a number relative to previous - a string - "+ |
$iRight | [optional] indentation of right side of the paragraph (in space units) |
$iFirstLine | [optional] indentation of the first line relative to other lines (in space units) |
Success: | True. |
Failure: | False and sets the @error flag to non-zero. |
@error: | 101 - $hWnd is not a handle 103 - $iRight is not a number 104 - $iFirstLine is not a number 1021 - $vLeft is neither a number nor a string consisting of a number 1022 - $vLeft would start body of paragrpah to left of client area 200 - First line would be outdented beyond the client area 700 - Operation failed |
Postive values of $vLeft, $iRight and $iFirstLine indent towards the center of the paragraph.
All three values are initially 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.
_GUICtrlRichEdit_GetParaIndents, _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, $idBtnNext, $iStep = 0
$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_SetText($g_hRichEdit, "First paragraph")
Report("Para with default indent 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")
Report("Added second paragraph")
Case 2
_GUICtrlRichEdit_SetParaIndents($g_hRichEdit, 0.25, .1)
Report("Changed indent settings of second paragraph")
Case 3
_GUICtrlRichEdit_SetSel($g_hRichEdit, 10, 26)
_GUICtrlRichEdit_SetParaIndents($g_hRichEdit, Default, 0, .2)
Report("Change settings of both paragraphs")
Case 4
; Stream all text to the Desktop so you can look at Indents 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_GetParaIndents($g_hRichEdit)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report