Форматирование абзаца – класс TParaAttributes
Класс TParaAttributes определяет основные свойства абзаца текста. За выравнивание текста в абзаце отвечает свойство:
propertyAlignment: TAlignment;
typeTAlignment = (taLeftJustify, taRightJustify, taCenter);
Предусмотрена возможность задания отступа текста: три свойства отвечают
за установку красной строки, левой и правой границ абзаца. Расстояние измеряется в пикселах.
propertyFirstIndent: Longint; //отступ первой строки абзаца
propertyLeftIndent: Longint; //левая граница абзаца
propertyRightIndent: Longint; //правая граница абзаца
Например:
RichEdit1.Paragraph.FirstIndent :=50;
Форматирование текста в виде маркированного списка обеспечивается установкой в nsBullet свойства:
propertyNumbering: TNumberingStyle;
typeTNumberingStyle = (nsNone, nsBullet);
Например:
RichEdit1.Paragraph.Numbering := nsBullet;
Позиции табуляции внутри абзаца устанавливаются в массиве Tab. Помните, что массив не вставляет непосредственно символы табуляции (это осуществляется нажатием клавиши Tab), а просто расставляет места предполагаемых табуляторов.
propertyTab[Index: Byte]: Longint;
Количество табуляторов в абзаце доступно в свойстве:
propertyTabCount: Integer;
Класс TParaAttributes не богат собственными методами. Отметим наличие
метода «Формат по образцу» (в терминах текстового процессора Microsoft
Word). Процедура назначает абзацу такие же параметры, как и у источника
Source.
procedureAssign(Source: TPersistent); override;
Форматирование текста – класс TTextAttributes
В отличие от компонента TMemo, расширенный текстовый редактор способен настраивать текстовые атрибуты отдельного слова и даже символа в абзаце с помощью класса TTextAttributes. Класс выполняет комплекс настроек текстовых атрибутов с возможностью последующего их применения к выделенному тексту. Свойства класса текстовых атрибутов созвучны свойствам класса шрифтов TFont. На базе класса TTextAttributes функционируют два свойства:
propertyDefAttributes: TTextAttributes;
propertySelAttributes: TTextAttributes;
Первое свойство (атрибуты по умолчанию) доступно только в период выполнения приложения и описывает характеристики шрифта, устанавливаемые по умолчанию для вновь вводимого текста. Второе свойство (атрибуты выделенного текста) возвращает или устанавливает атрибуты выделенного текста или части текста, в данный момент содержащей курсор.
Public
functionCurrText : TTextAttributes; //назначение атрибутов тексту
procedureSetFontSize(NewSize : byte); //установка высоты шрифта
end;
. . .
functionTfrmMain.CurrText : TTextAttributes;
Begin
//функция устанавливает новые атрибуты для выделенного текста
ifRichEdit1.SelLength > 0 // если есть выделенный текст
thenResult := RichEdit1.SelAttributes
elseResult := RichEdit1.DefAttributes;
//если текст не выделен, устанавливаются атрибуты по умолчанию
end;
procedureTfrmMain.SetFontSize(NewSize : byte);
Begin
//в параметре NewSize передается новая высота шрифта
CurrText.Size := NewSize;
end;
Среди множества методов класса TRichEdit особое внимание стоит уделить
встроенной функции поиска фрагмента текста:
Type
TSearchType = (stWholeWord, stMatchCase);
TSearchTypes = set ofTSearchType;
functionFindText(constSearchStr: string; StartPos, Length: Integer;
Options: TSearchTypes): Integer;
В качестве параметров передаются: SearchStr – искомый фрагмент текста;
StartPos – место, с которого начинается поиск в тексте; StartPos + Length – место, до которого производится поиск. Опции поиска настраиваются в параметре Options, где флаг stMatchCase указывает, что поиск ведется с учетом регистра символов, а флаг stWholeWord – что при поиске учитываются только целые слова (другими словами, если вы ищете текст «метр», то поиск не будет остановлен на слове «параметр»). В случае успеха метод возвращает позицию первого символа найденного фрагмента в тексте, иначе результатом будет –1.
Дата добавления: 2016-03-15; просмотров: 670;