Компоненты ввода и отображения текстовой информации.


В библиотеке визуальных компонентов C++ Builder существует множество компонентов, позволяющих отображать, вводить и редактировать текстовую информацию. В таблице 2 приведен их перечень:
Таблица 2
Пиктог-рамма Компонент Страница Описание

Label (метка) Standard Отображение текста, который не изменяется пользователем. Никакого оформления текста не предусмотрено, кроме цвета метки и текста.

StaticText (метка с бордюром) Additional Подобен компоненту Label, но обеспечивает возможность задания стиля бордюра.

Panel (панель) Standard Компонент является контейнером для группирования органов управления, но может использоваться и для отображения текста с возможностями объемного оформления.

Edit (окно редактирования) Standard Отображение, ввод и редактирование однострочных текстов. Имеется возможность оформления объемного бордюра

MaskEdit (окно маскированного редактирования) Additional Используется для форматирования данных или для ввода символов в соответствии с шаблоном.

Memo (много-строчное окно редактирования) Standard Отображение, ввод и редактирование многострочных текстов. Имеется возможность оформления объемного бордюра.

RichEdit (много-строчное окно редактирования в формате RTF) Win32 Компонент представляет собой окно редактирования в стиле Windows в формате RTF, позволяющее производить выбор атрибутов шрифта, поиск текста и др.

ListBox (окно списка) Standard Отображение стандартного окна списка Windows, позволяющего пользователю выбирать из него пункты.

CheckListBox (список с индикаторами) Additional Компонент является комбинацией списка ListBox и индикаторов CheckBox

ComboBox Standard Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка.

StringGrid (таблица строк) Additional Отображение текстовой информации в таблице из строк и столбцов с возможностью перемещения по строкам и столбцам и осуществлять выбор.

1) TLabel — отображает на форме текстовую метку, которую нельзя редактировать. Название метки является значением свойства Caption. Свойство Alignment определяет способ выравнивания текста, например по правой границе:
Label1->Alignment=taRightJustufy;
Свойство Font этого компонента управляет цветом, размером и начертанием шрифта. Чтобы размеры поля метки автоматически приспосабливались к изменениям длины текста, используйте установленное по умолчанию значение true свойства AutoSize.
2) TPanel – создает пустой контейнер, который может содержать другие компоненты. Свойства Color и Caption задают цвет и заголовок панели соответственно, свойство BevelInner – стиль внутренней кромки, свойство BevelOuter – стиль внешней кромки, свойство BevelWidth – ширину кромок, свойство BorderWidth – расстояние между кромками, свойство BorderStyle – внешний обвод.
3) TEdit – редактируемый ввод – отображает на форме стандартный диалоговый элемент Windows в виде области для редактируемого ввода одиночной текстовой строки. Если вы хотите, чтобы содержимое области редактирования автоматически выбиралось, установите значение true свойства AutoSelect. Текущая строка заносится в свойство Text. Перенос текущей строки из одного объекта в другой выполняется посредством тривиальной операции:
Edit2->Text=Edit1->Text
Метод Clear очищает в свойстве Text всю редактируемую строку, а метод ClearSelection – только выбранную ее часть. Свойство PasswordChar позволяет скрыть вводимый текст, замещая его специальными символами.
4) TMaskEdit – создает прямоугольную область контролируемого ввода данных специфического формата. Свойство Text содержит введенный текст до применения маски, а EditText – текст, образованный в результате форматирования. Свойство EditMask хранит код текущей маски.
5) TMemo — отображает на форме прямоугольную область редактируемого ввода множества строк информации. Текущее содержимое объекта комментария определяет массив пронумерованных строк, являющийся значением свойства Lines типа TStrings. Например, перенос первой строки комментария Memo1 в заголовок текущей формы реализует следующая инструкция:
Caption=Memo1->Lines->Strings[0];
6) TListBox – прямоугольная область, в которой отображается список текстовых строк для выбора, добавления или вычеркивания. Элементы пронумерованного списка содержатся в свойстве Items типа TStrings. Номер элемента, который будет выбран во время выполнения программы, передается в свойство ItemIndex. Свойство Sorted устанавливает сортировку элементов списка по алфавиту. Компонент ListBox способен легко манипулировать элементами списка посредством методов свойства Items, например:
ListBox1->Items->Add(«Последний элемент списка»);
7) CheckListBox – данный компонент отображает прокручиваемый список элементов, каждый из которых снабжается собственной ячейкой состояния.
8) ComboBox – создает комбинацию области редактирования и выпадающего списка текстовых строк для выбора. Выбранный элемент списка переносится в область редактирования и становится значением свойства Text. Элементы списка содержатся в свойстве Items, а номер выбранного во время выполнения программы элемента – в свойстве ItemIndex. Можно динамически добавлять, вычеркивать, вставлять и перемещать элементы с помощью методов объектного свойства Items, например:
ComboBox1->Items->Insert(0, “Первый элемент списка”);
9) StringGrid – представляет собой таблицу. Каждой ячейке может быть поставлен в соответствие некоторый объект. Основные свойства компонента, определяющие отображаемый текст:
? System::AnsiString Cells[int ACol][int ARow] – Строка, содержащаяся в ячейке с индексами столбца и строки Acol и Arow;
? Classes::TStrings* Cols[int Index] – Список строк и связанных с ними объектов, содержащихся в столбце с индексом Index;
? Classes::TStrings* Rows[int Index] – Список строк и связанных с ними объектов, содержащихся в строке Index;
? System::TObject* Objects [int ACol][int ARow] – Объект, связанный со строкой, содержащейся в ячейке с индексами столбца и строки Acol и Arow.

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows – число фиксированных, не прокручиваемых столбцов и строк.
В основном компонент StringGrid используется для выбора пользователем каких-то значений, отображенных в ячейках. Свойства Col и Row показывают индексы столбца и строки выделенной ячейки.
Среди множества событий компонента StringGrid следует отметить событие OnSelectCell, возникающее в момент выбора пользователем ячейки. В обработчик этого события передаются целые параметры Acol и Arow – столбец и строка выделенной ячейки, а булев параметр CanSelect – допустимость выбора. Параметр CanSelect можно использовать для запрета выделения ячейки, задав его значения false. А параметры Acol и Arow могут использоваться для какой-то реакции программы на выделение пользователя. Например, оператор
Label1->Caption=”Выбрана ячейка”+intToStr(ARow)+’:’+IntToStr(ACol);
выдаст в метку Label1 сообщение о строке и столбце выбранной ячейки.
А оператор
Label1->Caption=StringGrid->Cells[ACol][ARow];
выведет в ту же метку текст выделенной ячейки.