Функция _GUICtrlRichEdit_SetParaIndents

 ↑  ←  Описание функции


_GUICtrlRichEdit_SetParaIndents

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 Дескриптор элемента
$vLeft [необязательный] indentation of left side of the body of the paragraph (in space units)
    absolute - a number
    relative to previous - a string - "+" or "-"
$iRight [необязательный] indentation of right side of the paragraph (in space units)
$iFirstLine [необязательный] indentation of the first line relative to other lines (in space units)

Возвращаемое значение

Успех:Возвращает True
Ошибка:Возвращает False и устанавливает @error
@error:101 - $hWnd is not a handle
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
103 - $iRight is not a number
105 - $iFirstLine is not a number
200 - First line would be outdented beyond the client area
700 - Operation failed

Примечания

Postive values of $iLeft, $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

См. также

Искать EM_SETPARAFORMAT в библиотеке MSDN

Пример

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

Global $lblMsg, $hRichEdit

Main()

Func Main()
    Local $hGui, $btnNext, $iStep = 0
    $hGui = GUICreate(StringTrimRight(@ScriptName, 4), 420, 350, -1, -1)
    $hRichEdit = _GUICtrlRichEdit_Create($hGui, 'Это тест.', 10, 10, 400, 220, _
            BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
    $lblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60)
    $btnNext = GUICtrlCreateButton("Далее", 270, 310, 60, 30)
    GUISetState()

    _GUICtrlRichEdit_SetText($hRichEdit, "First paragraph")
    Report("Para with default indent settings")

    While 1
        Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                _GUICtrlRichEdit_Destroy($hRichEdit)
                GUIDelete()
                Exit
            Case $btnNext
                $iStep += 1
                Switch $iStep
                    Case 1
                        _GUICtrlRichEdit_AppendText($hRichEdit, @CR & "Second paragraph")
                        Report("Added second paragraph")
                    Case 2
                        _GUICtrlRichEdit_SetParaIndents($hRichEdit, 0.25, .1)
                        Report("Changed indent settings of second paragraph")
                    Case 3
                        _GUICtrlRichEdit_SetSel($hRichEdit, 10, 26)
                        _GUICtrlRichEdit_SetParaIndents($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($hRichEdit)
                        _GUICtrlRichEdit_StreamToFile($hRichEdit, @DesktopDir & "\gcre.rtf")
                        GUICtrlSetState($btnNext, $GUI_DISABLE)
                EndSwitch
        EndSwitch
    WEnd
EndFunc   ;==>Main

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