Функция _GUICtrlRichEdit_StreamFromFile

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


_GUICtrlRichEdit_StreamFromFile

Вставляет форматированный текст в Rich Edit из файла

#include <GuiRichEdit.au3>
_GUICtrlRichEdit_StreamFromFile($hWnd, $sFilespec)

Параметры

$hWnd Дескриптор элемента
$sFileSpec Путь к файлу

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

Успех:Возвращает True
Ошибка:Возвращает False и устанавливает @error
@error:101 - $HWnd не является дескриптором
1021 - Не удается открыть $sFilespec
1022 - файл пуст
700 - attempt to stream in too many characters

Примечания

Если текст выделен, то заменяется выделенное, иначе заменяется весь текст в элементе Rich Edit

Используйте функцию _GUICtrlRichEdit_SetLimitonText, чтобы увеличить количество символов, которое может содержать элемент Rich Edit

См. также

_GUICtrlRichEdit_SetLimitOnText, _GUICtrlRichEdit_StreamFromVar, _GUICtrlRichEdit_StreamToFile

См. также

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

Пример

#include <GuiRichEdit.au3>
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>
OnAutoItExitRegister('_OnExit') ; Освобождает ресурсы RichEdit даже при завершении скрипта с ошибкой

$hGui = GUICreate(StringTrimRight(@ScriptName, 4), 380, 220, -1, -1)
$hRichEdit = _GUICtrlRichEdit_Create($hGui, "Попробуйте изменять текст, сохранять в файл и открывать из файла", _
        10, 10, 360, 170, BitOR($ES_MULTILINE, $WS_VSCROLL, $ES_AUTOVSCROLL))
$iButtonSave = GUICtrlCreateButton("Сохранить как ...", 40, 185, 140, 30)
$iButtonOpen = GUICtrlCreateButton("Открыть", 200, 185, 140, 30)
GUISetState()

While 1
    Switch GUIGetMsg()
        Case $iButtonSave
            $SaveFile = FileSaveDialog('Сохранить как ...', @DesktopDir, 'Файл RTF (*.rtf)', 24, 'gcre', $hGui)
            If @error Then ContinueLoop
            If StringRight($SaveFile, 4) <> '.rtf' Then $SaveFile &= '.rtf'
            ; Сохраняет в файл
            _GUICtrlRichEdit_StreamToFile($hRichEdit, $SaveFile)
        Case $iButtonOpen
            $OpenFile = FileOpenDialog('Открыть', @DesktopDir, 'Файл RTF (*.rtf)', '', 'gcre', $hGui)
            If @error Then ContinueLoop
            ; Открывает из файла
            _GUICtrlRichEdit_StreamFromFile($hRichEdit, $OpenFile)
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _OnExit()
    ; Для версий ниже 3.3.8.0 обязательно удаление RichEdit или GUI для освобождения ресурсов RichEdit
    _GUICtrlRichEdit_Destroy($hRichEdit)
    GUIDelete()
EndFunc