![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Форматирование абзаца – класс 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.
|