
- •Палитра компонент Объекты и компоненты
- •Компоненты ввода и отображения текстовой информации Отображение текста в надписях Компонент Label(метка)
- •Компонент StaticText(меткаcбордюром)
- •Компонент Panel (панель)
- •Окна редактирования Компонент Edit(окно редактирования)
- •Компонент MaskEdit (окно маскированного редактирования)
- •Компонент LabeledEdit (окно редактирования с привязанной к нему меткой)
- •Многострочные окна редактирования Компонент Memo (многострочное окно редактирования)
- •Компонент RichEdit(многострочное окно редактирования в форматеRtf)
- •Компоненты выбора из списков Компонент ListBox(окно списка)
- •Компонент ComboBox (редактируемый список)
Компонент RichEdit(многострочное окно редактирования в форматеRtf)
Страница Win32
Компонент TRichEdit представляет собой многофункциональное средство редактирования текстов, позволяющее работать с обогащенным форматом .rtf, т.е. выбирать различные атрибуты форматирования для разных фрагментов текста. В этом основное отличие TRichEdit от более простого компонента TMemo, в котором атрибуты форматирования одинаковы для всего текста.
SelAttributes:TTextAttributes– Описывает характеристики выделенного текста. Это свойство в свою очередь имеет подсвойства: Color (цвет), Name (имя шрифта), Size (размер), Style (стиль) и ряд других. Если в данный момент в компоненте выделен какой-то фрагмент текста, то характеристики относятся к шрифту этого фрагмента. Если выделения нет, то характеристики шрифта относятся к текущей позиции курсора (позиция определяется свойством SelStart), т.е. к тексту, который будет вводиться, начиная с этой позиции.
Класс TTextAttributes свойства SelAttributes подобен классу TFont шрифта. Например, если приложение имеет компонент RichEdit и диалог выбора шрифта FontDialog1 типа TFontDialog и кнопку Button, то следующий код позволит пользователю менять атрибуты вновь вводимого или выделенного текста:
if FontDialog1.Execute then
with RichEdit1.SelAttributes do begin
Color:=FontDialog1.Font.Color;
Name:=FontDialog1.Font.Name;
Size:=FontDialog1.Font.Size;
Style:=FontDialog1.Font.Style;
end;
RichEdit1.SetFocus;
В приведенном коде присваивается поочередно значение каждого свойства. Но этот текст можно кардинально сократить, воспользовавшись тем, что объекты SelAttributes
и Font совместимы по типу. Поэтому можно присвоить сразу все свойства одного объекта другому с помощью методаAssign (метод Assign копирует один объект в другой, создавая копию всех данных объекта):
FontDialog1.Font.Assign(RichEdit1.SelAttributes);
if FontDialog1.Execute then
RichEdit1.SelAttributes.Assign(FontDialog1.Font);
RichEdit1.SetFocus;
Первый из приведенных операторов задает в качестве начального приближения в диалоге текущий шрифт компонента RichEdit1, а второй оператор заменяет текущий шрифт тем, который выбрал пользователь.
Запустив приложение вы сможете менять атрибуты выделенного или вновь вводимого текста.
DefAttributes:TTextAttributes– Атрибуты форматирования, используемые по умолчанию.
Эти атрибуты действуют до того момента, когда изменяются атрибуты в свойстве SelAttributes. Но значения атрибутов в DefAttributes сохраняются и в любой момент эти значения могут быть методом Assign присвоены атрибутам свойства SelAttributes, чтобы вернуться к прежнему стилю.
SelLength:Integer –Определяет количество выделенных символов в строке
SelStart:Integer –Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText:String –Текст, выделенный в окне
Paragraph:TParaAttributes; –Свойство, определяющее форматирование текущего абзаца.
Методы
Основные методы такие же как и для TEdit
function FindText(const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer; – Ищет в тексте заданный фрагмент, в частности, может искать его как целое слово и с учетом или без учета регистра