Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компоненты ввода и отображения текстовой информ...doc
Скачиваний:
2
Добавлен:
04.05.2019
Размер:
213.5 Кб
Скачать

Тема 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;

Восстанавливает текст в том виде, в ко­тором он был перед последним получе­нием компонентом фокуса ввода