Richedit в delphi

Багаторядкове вікно редагування текстів в збагаченому форматі .rtf, що дозволяє виробляти вибір кольору, шрифту, пошук тексту і т.д.


Сторінка бібліотеки Win32

Ієрархія TObiect - TPersistent - TComponent - TControl - TWinControl - TCustomEdit - TCustomMemo - TCustomRichEdit

Компонент RichEdit є засобом редагування текстів, яке дозволяє працювати з форматом .rtf, тобто дає можливість вибрати різні істотні властивості об'єкта форматування для всіляких фрагментів тексту. Це є основною відмінністю RichEdit від компонента Memo. у якого наявні атрибути форматування стануть однаковими для всього тексту.

У Властивості Lines, яке доступне як в період складання проекту, так і в період його виконання, є в наявності безліч властивостей і методів типу TStrings). Властивість Text містить у собі весь текст. Є всі необхідні властивості часу виконання SelLength, SelStart, SelText, які визначать довжину виділеного тексту, а також позицію перед першим символом виділеного тексту і сам виділений текст. Якщо остутствие виділений текст, то властивість SelStart однозначно визначає поточне положення курсору.

При бажанні змінити атрибути знову вводиться фрагмента тексту ви можете задати властивість SelAttributes. Це властивість типу TText Attributes, яке в свою чергу має подсвойства: Color (колір), Name (ім'я шрифту), Size (розмір), Style (стиль) і ряд інших. Приклад, якщо у додатки є компонент RichEdit і діалог FontDialogl (вибору шрифту). то наступний код дозволить користувачеві змінювати атрибути знову вводиться або виділеного тексту:

if FontDialogl.Execute then with RichEditl.SelAttributes do begin

У наведеному коді дає можливість привласнювати черзі значення кожної властивості. Але цей текст можна сильно скоротити, тому що типи об'єктів SelAttributes і Font є сумісними, тому можна привласнити відразу все властивості одного об'єкта іншому:

if FontDialogl.Execute then

Властивість DefAttributes, яке містить в собі атрибути за замовчуванням. Ці атрибути продовжують діяти до тих пір, поки не зміняться атрибути у властивості SelAttributes. Але значення атрибутів в DefAttributes зберігаються, тому завжди є можливість
в будь-який момент цим значенням бути методом Assign присвоєні атрибутам властивості SelAttributes, щоб повернутися до колишнього стилю.

Paragraph типу TParaAttributes відповідає за вирівнювання, відступи і т.д. в межах поточного абзацу.
Тип Paragraph має кілька властивостей:

Визначає вирівнювання тексту.

Значення подсвойств властивості Paragraph можна задавати тільки в процесі виконання програми, наприклад, в подію створення форми або при натисканні якої-небудь кнопки. Значення подсвойств властивості Paragraph ставляться до того абзацу, в якому знаходиться курсор. Наприклад, кожен з наступних операторів здійснить відповідне вирівнювання поточного абзацу:

RichEditl.Paragraph.Alignment: = taCenter; // По центру

Наступний оператор призведе до того, що поточний абзац буде відображатися як список, тобто з маркерами:

Знищення списку в поточному абзаці здійснюється оператором

Властивість Modified. яке є тільки під час виконання, показує, чи було редагування тексту у вікні. Якщо вам необхідно використовувати цю властивість, то в момент початку роботи користувача з текстом Modified слід встановити в false. Тоді при наступному зверненні до цієї властивості можна по його значенню (true або false) дізнатися, було чи ні редагування.

Властивість Wordwrap. рівне true, вказує на те, що допускається перенесення довгих рядків. Установка властивості ReadOnly в true задає текст тільки для читання. Властивість MaxLength задає максимально можливу довжину введеного тексту. Якщо MaxLength = 0, то довжина тексту не має обмежень. Властивості WantReturns і WantTab визначають доступність введення користувачем у текст символів перекладу рядка і табуляції (TAB).

Властивість Scrollbars задає чи будуть в наявності смуги прокрутки тексту в вікні. За замовчуванням властивість ScrollBars одно ssNone, що означає відсутність смуг прокрутки. Користувач може переміщатися в даному випадку по тексту тільки за допомогою курсору. Властивість ScrollBars може приймати: ssHorizontal, ssVertical або ssBoth, що означає прісудствіем горизонтальної прокрутки, вертикальної прокрутки або обох смуг одночасно.

Властивість CaretPos вказує на запис, поле X якої містить індекс символу в рядку, перед яким розташований курсор, а поле Y - індекс рядка, в якій знаходиться курсор. Отже, з огляду на, що індекси починаються з 0, значення Memol.CaretPos.Y + 1 і Memol.CaretPos.Х + 1 визначають відповідно номер рядка і символу в ній, перед яким розташовується курсор.

Властивості Align і Anchors дозволяють адаптувати розмір вікна RichEdit до розміру вікна програми, обраного користувачем.

richedit де знаходиться Делфі компонент

Richedit в delphi