TEdit - ввод и отображение строки


 

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

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


VAR

OldText:STRING;

PROCEDURE TForm1.EditlChange(Sender:TObject) ;

BEGIN

IF Edit1.Text<>' ' THEN

TRY

StrToFloat(Edit1.Text) ;

OldText := Edit1.Text

EXCEPT

// Ошибка преобразования: восстанавливаем прежний текст

Edit1.Text := OldText;

// и позиционируем текстовый указатель в конец текста:

Editl.SelStart := Length(Edit1.Text);

Editl.SelText := ' '

END

END;

При повторении примера подготовьте глобальную переменную OldText типа STRING, в которой запоминается последний правильно введенный текст. Лучше всего ее поместить в секцию PRIVATE класса формы - тогда ее можно не обнулять в момент начала работы.

Позиционировать текстовый указатель на любой символ строки можно с помощью свойств SelStart и SelText: в первое нужно поместить порядковый номер символа от начала текста, после которого должен стоять указатель ввода, во второе - пустую строку.

Свойства компонента:

PROPERTY AutoSelect: Boolean Указывает, будет ли выделяться весь текст в момент получения компонентом фокуса ввода.
PROPERTY AutoSize: Boolean; Если содержит True и BorderStyle=bsSingle, высота компонента автоматически меняется при изменении свойства Font. Size.
TBorderStyle = BsNone . . bs Single; PROPERTY BorderStyle: TBorderStyle; Определяет стиль обрамления компонента: bsNone -нет обрамления; bsSingle - компонент обрамляется одной линией.
PROPERTY CanUndo: Boolean; Содержит True, если сделанные пользователем изменения в тексте Text можно убрать методом Undo.
TEditCharCase = (ecNormal, EcUpperCase, ecLowerCase) ; PROPERTY CharCase: TEditCharCase Определяет автоматическое преобразование высоты букв: ecNormal - нет преобразования; ее UpperCase -все буквы заглавные; ecZowerCase - все буквы строчные. Правильно работает с кириллицей
PROPERTY HideSelection: Boolean; Если содержит False, выделение текста сохраняется при потере компонентом фокуса ввода.
PROPERTY MaxLength:Integer; Определяет максимальную длину текстовой строки. Если имеет значение 0, длина строки не ограничена.
PROPERTY Modified: Boolean; Содержит True, если текст был изменен.
PROPERTY OnChange:TNotifyEvent; Определяет обработчик события OnChange, которое возникает после любого изменения текста.
PROPERTY OEMConvert: Boolean; Содержит True, если необходимо перекодировать текст из кодировки MS-DOS в кодировку Windows и обратно.
PROPERTY PasswordChar: Char; Если символ PasswordChar определен, он заменяет собой любой символ текста при отображении в окне. Используется для ввода паролей.
PROPERTY Readonly: Boolean; Если содержит True, текст не может изменяться
PROPERTY SelLength: Integer; Содержит длину выделенной части текста.
PROPERTY SelStart:Integer; Содержит номер первого символа выделенной части текста.
PROPERTY SelText: String; Содержит выделенную часть текста.
PROPERTYText: String; Содержит весь текст.

Методы компонента:

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


Дата добавления: 2016-06-15; просмотров: 2089;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.