TRichEdit - введення та відображення RTF-тексту - Програмування від

trichedit
Мал. 18.23.Вікно демонстраційної програми DEMOS RICHEDIT RICHED1T.EXE

На рис. 18.23 показаний приклад використання можливостей компонента. Повний текст програми, з допомогою якої створено малюнок, наводиться у папці demos RICHEDIT RICHEDIT.DPR, що у каталозі розміщення Delphi.

Крім звичайних шрифтових властивостей CharSet, Color, Height, Name, Pitch, Size І Style (див. клас TFont) об'єкт TTextAttributes містить також властивості consistentAttributes і protected. Перше доступне лише читання і містить набір текстових характеристик, загальних як усього тексту, так його виділеної частини. Властивість protected захищає весь текст або його частини від редагування. Спроба змінити текст, що має атрибут protected, викликає обробник події OnProtectChange, який може дозволити чи заборонити зміни. За промовчанням зміни заборонені.

Для кожного текстового абзацу створюється об'єкт класу трага-Attributes, у якому зберігаються атрибути абзацу. Ці атрибути доступні через такі властивості класу TparaAttributes:

property Alignment: TAlignment;Визначає горизонтальне вирівнювання тексту абзацу щодо меж компонента
property Firstlndent: Longint;Вказує відступ тексту абзацу в пікселях від попереднього абзацу
property Leftlndent: Longint;Вказує відступ тексту абзацу у пікселях від лівого краю компонента
TNumberingStyle = (nsNone, nsBullet) ; property Numbering: TNumberingStyle;Вказує, чи потрібно вставляти ліворуч від абзацу символи списку. Якщо містить nsBullet, вставляються символи списку
property Rightlndent: Longint;Вказуєвідступ тексту абзацу в пікселях від правого краю компонента
property Tab[Index: Byte] : Longing;Для табулостопа з індексом index містить його позицію у пікселях від лівого краю компонента
property TabCount: Irteger;Визначає кількість табулостопів у рядку абзацу

Методи компонента:
procedure Clear;Видаляє весь текст
TSearchType = (stWholeWord,stMatchCase); TSearchTypes = set of TSearchType;Шукає в тексті рядок SearchStr і повертає індекс першого символу при вдалому пошуку: StartPos - початок пошуку:
function FindText(const SearchStr: String; StartPos, Length: Integer; Options: TSearchTypes) :Integer;Шукає в тексті рядок SearchStr і повертає індекс першого символу при вдалому пошуку: StartPos - початок пошуку: Length-довжина рядка, options вказує, чи буде пошук йти за цілими словами і чи треба враховувати висоту букв
function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integer;Копіює не більше BufSize символів виділеного тексту до буфера Buffer і повертає кількість скопійованих символів
procedure Print(const Caption: String);Форматує текст за межами аркуша паперу і друкує його на принтері, що замовчується, caption визначає заголовок друку
TConversion >String; AConversionClass: TConversionClass);Встановлює відповідність між розширенням файлу AExtension та конвертором тексту

Для компонента визначено такі події: