В библиотеке визуальных компонентов Delphi существует множество компонентов, позволяющих отображать, вводить, редактировать текстовую информацию. Приведем некоторые из них с краткими характеристиками.
К основным компонентам ввода и редактирования текста относятся TEdit, TMemo, TRichEdit.
Компонент TEdit– предназначен для ввода и редактирования однострочных текстов. Его предком является компонент TCustomEdit. Некоторые из его свойств и методов:
property Text: TCaption; - содержит текст компонента
procedure Clear; virtual; - позволяет очистить весь текст в редакторе.
Основное свойство – text. Этот компонент не имеет собственного кода, в нем опубликованы свойства его предка TCustomEdit.
Hierarchy
TObject
TPersistent
TComponent
TControl
TWidgetControl
TCustomEdit
TEdit
Компонент TMemo –представляет собой многострочный редактор текста. Этот компонент снабжен функциями, свойственными большинству редакторов. В нем предусмотрены типичные комбинации горячих клавиш Ctrl-C — копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V — вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z — отмена последней команды редактирования.
В компоненте Memoформат (шрифт, его атрибуты, выравнивание) одинаков
для всего текста и определяется свойством Font.Если вы сохраните в файле текст, введенный или отредактированный пользователем, то будет создан текстовый файл, содержащий только символы и не содержащий элементов форматирования. При последующем чтении этого файла в Memoформат будет определяться текущим состоянием свойства Fontкомпонента Memo,а не тем, в каком формате ранее вводился текст.
Hierarchy
TObject
TPersistent
TComponent
TControl
TWidgetControl
TFrameControl
TCustomMemo
TMemo
Основное свойство – lines.
property Lines: TStrings;
Содержимое редактора представлено как объект, содержащий текст в виде набора строк, который хранится в свойстве lines.
Загрузка в окно Memolтекста из файла может осуществляться командой
Memol.Lines.LoadFromFile('text.txt');
Сохранение текста в файле может осуществляться командой
Memol.Lines.SaveToFile('text.txt');
Компонент TRichEdit -работает с текстом в обогащенном формате RTF. При желании изменить атрибуты вновь вводимого фрагмента текста вы можете задать свойство SelAttributes.Это свойство типа TTextAttributes,которое в свою очередь имеет подсвойства: Color(цвет), Name(имя шрифта), Size(размер), Style(стиль) и ряд других.
Hierarchy
TObject
TPersistent
TComponent
TControl
TWinControl
TCustomEdit
TCustomMemo
TCustomRichEdit
TRichEdit
Компоненты TListBox и TCheckListBox – отображают списки строк и позволяют пользователю выбрать в них нужную строку. Основное свойство обоих компонентов, содержащее список строк, — Items,имеющее TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства (Items) в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings— Clear, Add, Getи другими.
В компоненте TListBoxимеется свойство MultiSelect,разрешающее пользователю множественный выбор в списке. Если MultiSelect = false(значение по умолчанию), то пользователь может выбрать только один элемент списка. В этом случае можно узнать индекс выбранной строки из свойства ItemIndex.
Например, следующий код проверяет выбор пользователя.
begin
if ListBox1.ItemIndex < 0
then ShowMessage('Вы не сделали свой выбор')
else ShowMessage('Ваш выбор ' + IntToStr(ListBox1.ItemIndex+1) + ': ' +
ListBox1.Items.Strings[ListBox1.ItemIndex]);
end;
По умолчанию Itemlndex= — 1. Это означает, что ни один элемент списка не выбран.
Если допускается множественный выбор (MultiSelect = true),то значение Itemlndexсоответствует тому элементу списка, который находится в фокусе. При множественном выборе проверить, выбран ли данный элемент, можно проверив свойство Selected[Index: Integer]типа Boolean.Например, следующий код отображает сообщения вида «Выбрана строка ...: ...» обо всех выбранных строках.