Gets the attributes of (first) selected paragraph or (if no selection) of the current paragraph
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_GetParaAttributes ( $hWnd )
$hWnd | Handle to the control |
Success: | a string consisting of values separated by semicolons ";". Values 1 to 10: a group consisting of: Characters 1 to 3 - attribute fpg - force this/these paragraphs on to new page(s) (Initially off) hyp - automatic hypthenation (Initially on) kpt - keep this/these paragraph(s) together on a page (Initially off} kpn - keep this/these paragraph(s) and the next together on a page (Initially off) pwo - prevent widows and orphans, i.e. avoid a single line of this/these paragraph(s) on a page (Initially off) r2l - display text using right-to-left reading order (Initially off) sbs - display paragraphs side by side (Initially off) sln - suppress line numbers in documents or sections with line numbers (Initially off) tbl - paragraph(s) is/are table row(s) (Initially off) Character 4 - state: + - attribute is on - - attribute is off Value 11 - scope: f - the first selected paragraph has these attributes c - the current paragraph has these attributes |
Failure: | "" and sets the @error flag to non-zero. |
@error: | 101 - $hWnd is not a handle |
_GUICtrlRichEdit_SetParaAttributes
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_AppendText($g_hRichEdit, "First paragraph")
Report("First paragraph: default attributes")
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_SetParaAttributes($g_hRichEdit, "-hyp")
Report("Second paragraph: hyphenation off")
Case 2
_GUICtrlRichEdit_SetSel($g_hRichEdit, 10, -1)
_GUICtrlRichEdit_SetParaAttributes($g_hRichEdit, "-hyp;+fpg;+kpn")
Report("Attributes of first paragraph in selection")
Case 3
; Stream all text to the Desktop so you can look at attributes 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_GetParaAttributes($g_hRichEdit)
GUICtrlSetData($g_idLblMsg, $sMsg)
EndFunc ;==>Report