Компонент GsvUnicodeRichEdit
Последнее обновление: 23 июля 2006
Этот визульный компонент является объектной оболочкой для юникодной версии редактора RichEdit - riched20.dll. Компонент наследуется от TWinControl и определяет следующие свойства, обработчика и методы:
- Alignment: TAlignment
- Стиль выравнивания текста.
- AutoSelect: Boolean
- Флаг, разрешающий выбор всего содержимого поля редактирования по получении фокуса. Обычно используется вместе со стилем однострочного редактора.
- AutoSize: Boolean
- Флаг, разрешающий автоматическую установку вертикального размера поля редактирования в соответствии с размером шрифта, используется только вместе со стилем однострочного редактора.
- AutoURLDetect: Boolean
- Флаг, разрешающий обнаружение URL (http:, mailto: и т.д.) в редактируемом тексте.
- BorderStyle: TBorderStyle
- Вид рамки.
- HideScrollBars: Boolean
- Флаг, разрешающий автоматически скрывать полоски скроллинга при их ненужности.
- HideSelection: Boolean
- Флаг, управляющий подсветкой выделения текста при потере фокуса.
- MaxLength: Integer
- Максимальный размер текста, который может быть введен в поле редактирования или 0, если размер не ограничен.
- MaxUndo: Integer
- Максимальный размер буфера Undo-Redo, по умолчанию - 100.
- MultiLine: Boolean
- Выбор многострочного или однострочного поля редактирования.
- ReadOnly: Boolean
- Разрешение или запрет редактирования.
- PlainText: Boolean
- Выбор простого или форматированного текста.
- SelectionBar: Boolean
- Флаг, разрешающий узкую полоску выделения строки слева от поля редактирования.
- WantReturns: Boolean
- Флаг, разрешающий иcпользование клавиши Enter при редактировании.
- WantTabs: Boolean
- Флаг, разрешающий иcпользование клавиши Tab при редактировании.
- WordWrap: Boolean
- Флаг, разрешающий автоматическое выравнивание многострочного текста по ширине клиентской области.
- OnChange: TNotifyEvent
- Обработчик события, происходящего при любом изменении текста.
- OnHScroll, OnVScroll: TNotifyEvent
- Обработчик события, происходящего при горизонтальном или вертикальном скроллинге.
- OnLink: TGsvUnicodeRichEditLinkEvent
- Обработчик события, происходящего при выделении текста, отмеченного как ссылка.
- OnProtectChange: TGsvUnicodeRichEditProtectChange
- Обработчик события, происходящего при изменении способа защиты фрагмента текста.
- OnSelChange: TNotifyEvent
- Обработчик события, происходящего при изменении выделенного текста.
- OnLangChange: TGsvUnicodeRichEditLangChange
- Обработчик события, происходящего при изменении системного переключателя языка.
- procedure SetSelPositions(aStartPos, aEndPos: Integer)
- Public-процедура, устанавливающая позицию и размер выделенного текста как одну операцию.
- procedure EnsureSelVisible
- Public-процедура, передвигающая выделенный текст так, чтобы он стал видимым.
- function PositionByPoint(X, Y: Integer): Integer
- Public-функция, позволяющая определить позицию текста по координатам клиентской области.
- function PointByPosition(aPosition: Integer): TPoint
- Public-функция, обратная к предыдущей и позволяющая определить координаты точки клиентской области, соответствующие позиции в тексте.
- function PositionByLine(aLine: Integer): Integer
- Public-функция, позволяющая определить позицию текста по номеру строки.
- function LineByPosition(aPosition: Integer): Integer
- Public-функция, обратная к предыдущей и позволяющая определить номер строки по позиции в тексте.
- function WordRangeByPosition(aPosition: Integer): TCharRange
- Public-функция, позволяющая определить диапазон позиций блишайшего слова по позиции текста внутри слова.
- function WideWordByPosition(var aPosition: Integer): WideString
- Public-функция, возвращающая ближайшее слово по позиции в тексте.
- function GetWideTextRange(const aRange: TCharRange): WideString
- Public-функция, возвращающая текст в указанном диапазоне позиций.
- function FindWideText(...): Integer
- Public-функция поиска текста. Аргументы функции: const SearchStr: WideString; StartPos, EndPos: Integer; Options: TGsvUnicodeSearchTypes.
- procedure SaveToFile, LoadFromFile
- Public-процедуры для сохранения текста в файле и для загрузки текста из файла.
- function TextLength: Integer
- Функция возвращает длину всего текста.
- function LineCount: Integer
- Функция возвращает число строк в тексте.
- function FirstVisibleLine: Integer
- Функция возвращает номер первой видимой строки.
- function CanUndo: Boolean
- Функция возвращает признак возможности операции отката.
- function HasSelection: Boolean
- Функция возвращает признак наличия выделенного текста.
- function HasText: Boolean
- Функция возвращает признак наличия текста в поле редактирования.
- procedure Clear
- Удаление всего текста.
- Работа с буфером обмена и выделенным текстом
- Стандартные процедуры: CopyToClipboard, CutToClipboard, PasteFromClipboard, ClearSelection, SelectAll.
- procedure Undo
- Команда отката последней операции редактирования.
- procedure ClearUndo
- Очистка буфера отката.
- function CreateCharFormat
- Функция возвращает объект, который может быть использован для форматирования отдельных символов на основе выбранных признаков - маски и эффектов. С помощью маски выбираются признаки форматирования: cfmBackColor, cfmCharset, cfmColor, cfmFace, cfmLCID, cfmOffset, cfmSize, cfmUnderlineType, cfmWeight. С помощью эффектов можно воздействовать на такие атрибуты форматирования, как:cfeBold, cfeDisabled, cfeEmboss, cfeHidden, cfeImprint, cfeItalic, cfeOutline, cfeProtected, cfeShadow, cfeSmallCaps, cfeStrikeout, cfeSubscript, cfeSuperscript, cfeUnderline. Наличие маски и эффектов просто ограничивает область возможных изменений для увеличения скорости установки этих изменений. Реальное изменение производится изменением свойств объекта, который возвращает данная функция. Объект имеет следующие свойства, доступные для получения и установки: Bold, Disabled, Emboss, Hidden, Imprint, Italic, Outline, CProtected, Shadow, SmallCaps, Strikeout, Subscript, Superscript, Underline, Face, WideFace, Size, Height, Color, BackColor, Charset, CLCID, Pitch, Offset, Weight, UnderlineType. После установки всех нужных свойств вы можете использовать один из двух методов объекта: SetDefault или SetSelection для установки текущих параметров форматирования или параметров форматирования выделенного текста. Для заполнения свойств объекта имеются две процедуры, которые получают все свойства, заявленные в маске и эффектах функции TGsvUnicodeCharFormat: GetDefault и GetSelection. После того, как объект становится ненужным, его можно удалить.
- function CreateParaFormat
- Функция подобна предыдущей, но возвращает объект, который может быть использован для форматирования абзацев, а не отдельных символов. С помощью маски выбираются признаки форматирования: pfmAlignment, pfmOffset, pfmRightIndent, pfmStartIndent, pfmTabStops. Возвращаемый объект имеет свойства: Alignment, StartIndent, RightIndent, Offset. После установки значений свойств они передаются в поле редактирования с помощью процедуры SetFormat.
- Modified: Boolean
- Свойство позволяет получить или установить признак измененности текста.
- SelLength, SelStart: Integer
- Свойство позволяет получить или установить длину и позицию выделенного текста.
- SelRange: TCharRange
- Свойство позволяет получить или установить длину и позицию выделенного текста за одну операцию.
- SelWideText: WideString
- Свойство позволяет получить выделенный текст. Установка выделенного текста либо заменяет текущий выделенный текст, либо добавляет его от текущей позиции.
- SelWideChar: WideChar
- Свойство аналогично предыдущему, но работает с одним символом.
- WideText: WideString
- Свойство позволяет получить или установить весь текст.
- CaretPos: TPoint
- Свойство позволяет получить или установить позицию курсора в клиентских координатах.
- WordBreakProc: PGsvUnicodeEditWordBreakProc
- Свойство позволяет получить или установить специфическую функцию разбивки текста по словам.
- WideChars[aPosition: Integer]: WideChar
- Свойство позволяет получить символ по его позиции.
- WideLines[aIndex: Integer]: WideString
- Свойство позволяет получить строку по ее номеру.
Download
delphiunicoderichedit.zip - Исходные коды (13K).