Вкладка Standard. Компонент TEdit

   
На этом шаге мы рассмотрим компонент TEdit

   
В компоненте TEdit (Поле ввода) хранится текст, который можно помещать в данный компонент,
как во время проектирования, так и во время выполнения программы.

   
Компонент класса TEdit представляет собой однострочное редактируемое текстовое поле.
С его помощью можно вводить и/или отображать достаточно длинные текстовые строки.

   
Свойства компонента TEdit представлены в таблице.

   

Таблица 1. Свойства компонента TEdit

СвойствоОписание
property Text: String;Содержит отображаемую компонентом строку
property MaxLength: Integer;Определяет максимальное количество символов в поле ввода. Если имеет значение 0, то количество символов ничем не ограничено
property Font: TFont;С его помощью можно устанавливать шрифт текста, его размер и цвет
property ReadOnly: Boolean; (Только чтение)Если это свойство установить в True, то во время выполнения программы пользователь не сможет изменять текст в поле ввода
property AutoSize: Boolean;Как и для надписи, может принимать значения True и False, но эффект автоматической подгонки размера выражается несколько по-другому, чем для надписи. Здесь изменяется только высота поля ввода в зависимости от размера шрифта
property BevelEdges: TBevelEdges;
property BevelInner: TBevelCut;
property BevelKind: TBevelKind;
property BevelOuter: TBevelCut;
Эти свойства определяют эффект объемности поля ввода
property BorderStyle: TBorderStyle;Определяет вид рамки для поля ввода
property PasswordChar: Char;Позволяет скрыть вводимый текст, отображая вместо реально вводимых символов единственный символ, установленный как значение свойства PasswordChar. Символ #0 отключает этот режим
property AutoSelect: Boolean;Определяет, будет ли выделяться весь текст в момент получения компонентом фокуса ввода
property CanUndo: Boolean;Содержит значение True, если сделанные пользователем изменения в тексте Text можно убрать методом Undo
type TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase);
propertyCharCase: TEditCharCase;
Определяет способ автоматического преобразования регистра букв:

  • ecUpperCase - все буквы прописные;
  • ecLowerCase - все буквы строчные.

Правильно работает с кириллицей

property HideSelection: Boolean;Если содержит значение False, выделение текста сохраняется при потере компонентов фокуса ввода
property Modified: Boolean;Содержит значение True, если текст был изменен
property OnChange: TNotifyEvent;Определяет обработчик события OnChange, которое возникает после любого изменения текста
property OEMConvert: Boolean;Содержит значениеTrue, если необходимо перекодировать текст из кодировки MS-DOS в кодировку Windows и обратно
property SelLenght: Integer;Содержит длину выделенной части текста
property SelStart: Integer;Содержит номер первого символа выделенной части текста
property SelText: String;Содержит выделенную часть текста

   
   
Методы компонента TEdit перечислены в таблице.

   

Таблица 2. Методы компонента TEdit

МетодОписание
procedure Clear;Удаляет весь текст
procedure ClearSelection;Удаляет выделенный текст
procedure ClearUndo;Очищает буфер метода Undo
procedure CopyToClipboard;Копирует выделенный текст в буфер обмена
procedure CutToClipboard;Копирует выделенный текст в буфер обмена, после чего удаляет выделенный текст из компонента
procedure PasteFromClipboard;Заменяет выделенный текст содержимым буфера обмена, а если нет выделенного текста, копирует содержимое буфера обмена в позицию текстового курсора
procedure SelectAll;Выделяет весь текст
procedure SetSelTextBuf (Buffer: PChar);Заменяет выделенный текст содержимым буфера Buffer, а если нет выделенного текста, копирует содержимое буфера Buffer в позицию текстового курсора
procedure Undo;Восстанавливает текст в том виде, в котором он был перед последним получением компонентов фокуса ввода
function GetSelTextBuf (Buffer: PChar; BufSize: Integer): Integer;Копирует не более BufSize символов выделенного текста в буфер Buffer


Рис.1.Однострочное редактируемое текстовое поле компонента TEdit

   

   
С помощью обработчика события OnChange программа может контролировать вводимый пользователем текст
и при необходимости фильтровать его, игнорируя недопустимые символы. В следующем примере компонент фильтрует
все символы, которые не соответствуют правильному представлению вещественного числа:

unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    procedure Edit1Change(Sender: TObject);
    private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
   OldText:String;
implementation
{$R *.dfm}
procedure TForm1.Edit1Change(Sender: TObject);
begin
 if Edit1.Text<>'' then
 try
   StrToFloat(Edit1.Text);
   OldText :=Edit1.Text
 except
   // Ошибка преобразования: восстанавливаем прежний текст
   Edit1.Text:=OldText;
   //и позицируем текстовый курсор в конец текста:
   Edit1.SelStart:=Length(Edit1.Text);
   Edit1.SelText:=''
 end;
end;

end.

Текст этого примера можно взять здесь.

   
На следующем шаге мы рассмотрим компонент TMemo



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий