- •Тема 3 Компоненты ввода и отображения текстовой информации
- •1 Label - метка
- •2 Edit-однострочное окно редактирования
- •3 MaskEdit – форматированный ввод
- •4 Memo – многострочное окно редактирования
- •Тема 4 Кнопки и индикаторы
- •1 Button – кнопка
- •2 BitBtn – кнопка с пиктограммой
- •3 SpeedButton – кнопка с пиктограммой и фиксацией
- •4 CheckBox – индикатор
- •Тема 5 Радиокнопки и компоненты группирования данных
- •1 RadioButton – радиокнопка
- •2 Panel – панель
Тема 3 Компоненты ввода и отображения текстовой информации
Цель: Формирование знаний о принципах ООП и основных элементов интерфейса Delphi.
План:
1 Label-метка.
2 Edit-однострочное окно редактирования.
3 MaskEdit – форматированный ввод.
4 Memo-многострочное окно редактирования.
1 Label - метка
Данный компонент предназначен для размещения на форме различного рода текстовых надписей. Основные свойства компонента TLabel:
Свойство |
Описание |
Name |
Имя компонента. Используется в программе для доступа к компоненту и его свойствам |
Caption |
Отображаемый текст |
Font |
Шрифт, используемый для отображения текста |
ParentFont |
Признак наследования компонентом характеристик шрифта формы, на которой находится компонент. Если значение свойства равно True, текст выводится шрифтом, установленным для формы |
AutoSize |
Признак того, что размер поля определяется его содержимым |
Left |
Расстояние от левой границы поля вывода до левой границы формы |
Top |
Расстояние от верхней границы поля вывода до верхней границы формы |
Height |
Высота поля вывода |
Width |
Ширина поля вывода |
Wordwrap |
Признак того, что слова, которые не помещаются в текущей строке, автоматически переносятся на следующую строку |
2 Edit-однострочное окно редактирования
Компонент класса TEdit представляет собой однострочное редактируемое текстовое поле. С его помощью можно вводить и/или отображать достаточно длинные текстовые строки.
Центральным свойством компонента является свойство Text, которое содержит отображаемую компонентом строку. С помощью обработчика события OnChange программа может контролировать вводимый пользователем текст и при необходимости фильтровать его, игнорируя недопустимые символы. В следующем примере компонент фильтрует все символы, которые не соответствуют правильному представлению вещественного числа:
var
OldText: String;
procedure TForml.EditlChange(Sender: TObject);
begin
if Editl.Text <> '' then
try
StrToFloat(Editl.Text);
OldText := Editl.Text
except
// Ошибка преобразования: восстанавливаем прежний текст
Editl.Text := OldText;
// и позиционируем текстовый курсор в конец текста:
Editl.SelStart := Length(Editl.Text);
Editl.SelText := ''
end
end;
При воспроизведении примера подготовьте глобальную переменную OldText типа string, в которой запоминается последний правильно введенный текст. Лучше всего ее поместить в секцию private класса формы – тогда ее можно не обнулять в момент начала работы.
Свойства компонента TEdit
Свойство |
Описание |
property AutoSelect: Boolean; |
Определяет, будет ли выделяться весь текст в момент получения компонентом фокуса ввода |
property AutoSize: Boolean; |
Если содержит значение True и BorderStyle= bsSingle, высота компонента автоматически меняется при изменении свойства Font .Size |
property CanUndo: в Boolean; |
Содержит значение True, если сделанные пользователем изменения в тексте Text можно убрать методом Undo |
TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase) ; property CharCase: TEditCharCase; |
Определяет способ автоматического преобразования регистра букв: ecNormal – нет преобразования; ecUpperCase – все буквы прописные; ecLowerCase – все буквы строчные. Правильно работает с кириллицей |
property HideSelection: Boolean; |
Если содержит значение False, выделение текста сохраняется при потере компонентом фокуса ввода |
property MaxLength: Integer; |
Определяет максимальную длину текстовой строки. Если имеет значение 0, длина строки не ограничена |
property Modified: Boolean; |
Содержит значение True, если текст был изменен |
property PasswordChar: Char; |
Если символ char определен, он заменяет собой любой символ текста при отображении в окне. Используется для ввода паролей |
property Readonly: Boolean; |
Если содержит значение True, текст не может изменяться |
property SelLength: Integer; |
Содержит длину выделенной части текста |
property SelStart: Integer; |
Содержит номер первого символа выделенной части текста |
property SelText: String |
Содержит выделенную часть текста |
property Text: String; |
Содержит весь текст |
Методы компонента Tedit
Метод |
Описание |
procedure Clear; |
Удаляет весь текст |
procedure ClearSelection; |
Удаляет выделенный текст |
procedure ClearUndo; |
Очищает буфер метода Undo |
procedure CopyToClipboard; |
Копирует выделенный текст в буфер обмена |
procedure CutToClipboard; |
Копирует выделенный текст в буфер обмена, после чего удаляет выделенный текст из компонента |
function GetSelTextBuf (Buffer: PChar; BufSize: Integer) : Integer; |
Копирует не более BufSize символов выделенного текста в буфер Buffer |
procedure PasteFromClipboard; |
Заменяет выделенный текст содержимым буфера обмена, а если нет выделенного текста, копирует содержимое буфера обмена в позицию текстового курсора |
procedure SelectAll; |
Выделяет весь текст |
procedure SetSelTextBuf (Buffer: PChar) ; |
Заменяет выделенный текст содержимым буфера Buffer, а если нет выделенного текста, копирует содержимое буфера Buffer в позицию текстового курсора |
procedure Undo; |
Восстанавливает текст в том виде, в котором он был перед последним получением компонентом фокуса ввода |