Définit l'indentation des paragraphe(s) dans la sélection courante ou, à défaut de sélection, des paragraphes insérés au point d'insertion
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_SetParaIndents ( $hWnd [, $vLeft = Default [, $iRight = Default [, $iFirstLine = Default]]] )
$hWnd | Handle du contrôle |
$vLeft | [optionnel] Indentation du côté gauche du corps du paragraphe (en unités d'espace): absolue - un nombre relative au précédent - une chaîne "+nombre" or "-nombre" |
$iRight | [optionnel] Indentation du côté droit du paragraaphe (en unités d'espace) |
$iFirstLine | [optionnel] Indentation de la première ligne par rapport aux autres lignes (en unités d'espace) |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle 103 - $iRight n'est pas un nombre 104 - $iFirstLine n'est pas un nombre 1021 - $vLeft n'est ni un nombre, ni une chaîne composée d'un nombre 1022 - $vLeft mettrait le corps du paragrpah à gauche de la zone client 200 - Première ligne serait en dehors de la zone client 700 - L'opération a échoué |
Des valeurs postive de $vLeft, $$iRight et iFirstLine indenteraient vers le centre du paragraphe.
Ces trois valeurs sont initialement à zéro.
Pour définir des "unités d'espace" appelez _GUICtrlRichEdit_SetSpaceUnit() . Initialement en pouces.
Si du texte est sélectionné, les valeurs par défaut sont les valeurs du premier paragraphe du texte sélectionné.
Si rien n'est sélectionné, les valeurs par défaut sont les valeurs du paragraphe courant.
_GUICtrlRichEdit_GetParaIndents, _GUICtrlRichEdit_SetSpaceUnit
Consultez EM_SETPARAFORMAT dans la librairie MSDN.
#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("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1) $g_hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) $g_idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60) $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 40, 30) GUISetState(@SW_SHOW) _GUICtrlRichEdit_SetText($g_hRichEdit, "Premier paragraphe") Report("Paragraphe avec les paramètres de retrait par défaut") $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $idBtnNext Then $iStep += 1 Switch $iStep Case 1 _GUICtrlRichEdit_AppendText($g_hRichEdit, @CRLF & "Second paragraphe") Report("A ajouté un second paragraphe") Case 2 _GUICtrlRichEdit_SetParaIndents($g_hRichEdit, 0.25, .1) Report("A changé les paramètres de retrait du second paragraphe") Case 3 _GUICtrlRichEdit_SetSel($g_hRichEdit, 10, 26) _GUICtrlRichEdit_SetParaIndents($g_hRichEdit, Default, 0, .2) Report("Change les paramètres des paragraphes") Case 4 ; Sauve le texte dans un fichier sur le bureau de sorte que vous puissiez regarder les paramètres de retrait dans Word _GUICtrlRichEdit_Deselect($g_hRichEdit) _GUICtrlRichEdit_StreamToFile($g_hRichEdit, @DesktopDir & "\gcre.rtf") GUICtrlSetState($idBtnNext, $GUI_DISABLE) EndSwitch EndIf $iMsg = GUIGetMsg() WEnd _GUICtrlRichEdit_Destroy($g_hRichEdit) ; Nécessaire sauf si le script se bloque ; GUIDelete(); est OK aussi EndFunc ;==>Example Func Report($sMsg) $sMsg = $sMsg & @CRLF & @CRLF & "Obtient le retour de la fonction: " & @CRLF & _GUICtrlRichEdit_GetParaIndents($g_hRichEdit) GUICtrlSetData($g_idLblMsg, $sMsg) EndFunc ;==>Report