Définit le texte d'un contrôle à partir d'un fichier
#include <GuiRichEdit.au3>
_GUICtrlRichEdit_StreamFromFile ( $hWnd, $sFileSpec [, $iFileEncoding = Default] )
$hWnd | Handle du contrôle |
$sFileSpec | Spécification de fichier |
$iFileEncoding | [optional] Spécifie l'encodage du fichier (Voir FileOpen() pour plus de détails). Par défaut, $FO_UTF8. |
Succès: | Retourne True. |
Échec: | Retourne False et définit @error <> 0. |
@error: | 101 - $hWnd n'est pas un handle 1021 - Impossible d'ouvrir $sFileSpec 1022 - Le fichier est vide 700 - Tentative de flux avec trop de caractères |
Si du texte est sélectionné, le contenu du fichier remplace la sélection, sinon il remplace tout le texte du contrôle.
Appelez _GUICtrlRichEdit_SetLimitOnText() pour augmenter le nombre de caractères que le contrôle peut contenir.
_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 $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 _GUICtrlRichEdit_StreamToFile($hRichEdit, @DesktopDir & "\gcre.rtf") GUICtrlSetData($idLblMsg, "Sauve dans gcre.rtf") Case 2 _GUICtrlRichEdit_SetText($hRichEdit, "") _GUICtrlRichEdit_StreamFromFile($hRichEdit, @DesktopDir & "\gcre.rtf") GUICtrlSetData($idLblMsg, "Charge à partir de gcre.rtf") Case 3 _GUICtrlRichEdit_SetSel($hRichEdit, 2, 6) _GUICtrlRichEdit_StreamFromFile($hRichEdit, @DesktopDir & "\gcre.rtf") 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