Écrit le texte d'un contrôle RichEdit dans une variable
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_StreamToVar ( $hWnd [, $bRtf = True [, $bIncludeCOM = True [, $iOpts = 0 [, $iCodePage = 0]]]] )
$hWnd | Handle du contrôle |
$bRtf | [optionnel] True - écrit du Rich Text Format (RTF) (par défaut) False - Ecrit le texte seul |
$bIncludeCOM | [optionnel] True (par défaut): L'écriture du RTF, inclut tous les objets COM (space consuming) L'écriture du texte seul, écrit un texte à la place des objets COM False: Ecrit des espaces à la place des objets COM |
$iOpts | [optionnel] Options supplémentaires : $SFF_PLAINTRTF - écrit seulement les mots-clés du texte enrichi communs à toutes les langues $SF_UNICODE - écrit de l'Unicode |
$iCodePage | [optionnel] Génére de l'UTF-8 et le texte utilisant cette page de code Par défaut : ne le fait pas |
Succès: | Retourne le RTF ou le texte. |
Échec: | Retourne "" et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle 1041 - $SFF_PLAINRTF n'est pas valide pour un fichier texte 1042 - $opts: option non valide 1043 - $SF_UNICODE n'est valable que pour un fichier texte 700 - erreur interne |
Si du texte est sélectionné, n'écrit que la sélection, sinon écrit tout le texte du contrôle.
Appelez _GUICtrlRichEdit_IsModified() pour déterminer si le texte a été modifié.
_GUICtrlRichEdit_SetLimitOnText, _GUICtrlRichEdit_StreamFromVar, _GUICtrlRichEdit_StreamToFile
Consultez EM_STREAMIN dans la librairie MSDN.
#include <GUIConstantsEx.au3> #include <GuiRichEdit.au3> #include <WindowsConstants.au3> Example() Func Example() Local $hGui, $iMsg, $idBtnNext, $iStep = 0, $idLblMsg, $hRichEdit, $s $hGui = GUICreate("Exemple (" & StringTrimRight(@ScriptName, 4) & ")", 320, 350, -1, -1) $hRichEdit = _GUICtrlRichEdit_Create($hGui, "Ceci est un test.", 10, 10, 300, 220, _ BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL)) $idLblMsg = GUICtrlCreateLabel("", 10, 235, 300, 60) $idBtnNext = GUICtrlCreateButton("Suivant", 270, 310, 40, 30) GUISetState(@SW_SHOW) _GUICtrlRichEdit_SetText($hRichEdit, "Premier paragraphe") $iMsg = GUIGetMsg() While $iMsg <> $GUI_EVENT_CLOSE If $iMsg = $idBtnNext Then $iStep += 1 Switch $iStep Case 1 $s = _GUICtrlRichEdit_StreamToVar($hRichEdit) GUICtrlSetData($idLblMsg, "Sauvé dans variable") Case 2 _GUICtrlRichEdit_SetText($hRichEdit, "") _GUICtrlRichEdit_StreamFromVar($hRichEdit, $s) GUICtrlSetData($idLblMsg, "Chargé à partir d'une variable") Case 3 _GUICtrlRichEdit_SetSel($hRichEdit, 2, 6) _GUICtrlRichEdit_StreamFromVar($hRichEdit, $s) GUICtrlSetData($idLblMsg, "Sélection remplacée: un message intentionnel!") GUICtrlSetState($idBtnNext, $GUI_DISABLE) EndSwitch EndIf $iMsg = GUIGetMsg() WEnd _GUICtrlRichEdit_Destroy($hRichEdit) ; Nécessaire sauf si le script se bloque ; GUIDelete() ; est OK aussi EndFunc ;==>Example