Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Форматирование абзаца – класс TParaAttributes






Класс TParaAttributes определяет основные свойства абзаца текста. За выравнивание текста в абзаце отвечает свойство:

property Alignment: TAlignment;

type TAlignment = (taLeftJustify, taRightJustify, taCenter);

 

Предусмотрена возможность задания отступа текста: три свойства отвечают

за установку красной строки, левой и правой границ абзаца. Расстояние измеряется в пикселах.

property FirstIndent: Longint; //отступ первой строки абзаца

property LeftIndent: Longint; //левая граница абзаца

property RightIndent: Longint; //правая граница абзаца

 

Например:

RichEdit1.Paragraph.FirstIndent: =50;

Форматирование текста в виде маркированного списка обеспечивается установкой в nsBullet свойства:

property Numbering: TNumberingStyle;

type TNumberingStyle = (nsNone, nsBullet);

 

Например:

RichEdit1.Paragraph.Numbering: = nsBullet;

Позиции табуляции внутри абзаца устанавливаются в массиве Tab. Помните, что массив не вставляет непосредственно символы табуляции (это осуществляется нажатием клавиши Tab), а просто расставляет места предполагаемых табуляторов.

property Tab[Index: Byte]: Longint;

 

Количество табуляторов в абзаце доступно в свойстве:

property TabCount: Integer;

 

Класс TParaAttributes не богат собственными методами. Отметим наличие

метода «Формат по образцу» (в терминах текстового процессора Microsoft

Word). Процедура назначает абзацу такие же параметры, как и у источника

Source.

procedure Assign(Source: TPersistent); override;

Форматирование текста – класс TTextAttributes

 

В отличие от компонента TMemo, расширенный текстовый редактор способен настраивать текстовые атрибуты отдельного слова и даже символа в абзаце с помощью класса TTextAttributes. Класс выполняет комплекс настроек текстовых атрибутов с возможностью последующего их применения к выделенному тексту. Свойства класса текстовых атрибутов созвучны свойствам класса шрифтов TFont. На базе класса TTextAttributes функционируют два свойства:

property DefAttributes: TTextAttributes;

property SelAttributes: TTextAttributes;

 

Первое свойство (атрибуты по умолчанию) доступно только в период выполнения приложения и описывает характеристики шрифта, устанавливаемые по умолчанию для вновь вводимого текста. Второе свойство (атрибуты выделенного текста) возвращает или устанавливает атрибуты выделенного текста или части текста, в данный момент содержащей курсор.

Public

function CurrText: TTextAttributes; //назначение атрибутов тексту

procedure SetFontSize(NewSize: byte); //установка высоты шрифта

end;

...

function TfrmMain.CurrText: TTextAttributes;

Begin

//функция устанавливает новые атрибуты для выделенного текста

if RichEdit1.SelLength > 0 // если есть выделенный текст

then Result: = RichEdit1.SelAttributes

else Result: = RichEdit1.DefAttributes;

//если текст не выделен, устанавливаются атрибуты по умолчанию

end;

procedure TfrmMain.SetFontSize(NewSize: byte);

Begin

//в параметре NewSize передается новая высота шрифта

CurrText.Size: = NewSize;

end;

 

Среди множества методов класса TRichEdit особое внимание стоит уделить

встроенной функции поиска фрагмента текста:

Type

TSearchType = (stWholeWord, stMatchCase);

TSearchTypes = set of TSearchType;

function FindText(const SearchStr: string; StartPos, Length: Integer;

Options: TSearchTypes): Integer;

 

В качестве параметров передаются: SearchStr – искомый фрагмент текста;

StartPos – место, с которого начинается поиск в тексте; StartPos + Length – место, до которого производится поиск. Опции поиска настраиваются в параметре Options, где флаг stMatchCase указывает, что поиск ведется с учетом регистра символов, а флаг stWholeWord – что при поиске учитываются только целые слова (другими словами, если вы ищете текст «метр», то поиск не будет остановлен на слове «параметр»). В случае успеха метод возвращает позицию первого символа найденного фрагмента в тексте, иначе результатом будет –1.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.