Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Pascal и Delphi / Иллюстрированный самоучитель по Delphi 6 / Часть III. Компоненты и программы / Использование компонентов общего назначения / Компоненты страницы Standart /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


TEdit - ввод и отображение строки - Программирование от RIN.RU
TEdit - ввод и отображение строки




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


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


var
OldText: String;
procedure TFormI.EditlChange(Sender: TObject);


begin
if Editl.Text<>'' then
try
StrToFloat(Editi.Text) ;
OldText := Editl.Text except
// Ошибка преобразования: восстанавливаем прежний текст
Editl.Text := OldText;
// и позиционируем текстовый указатель в конец текста:
Editl.SelStart := Length(Editi.Text);
Editi.SelText := ''
end
end;




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


Примечание

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




Свойства компонента:
property AutoSelect: Boolean;Указывает, будет ли выделяться весь текст в момент получения компонентом фокуса ввода
property AutoSize: Boolean;Если содержит True и BorderStyle=bsSingle,высота компонента автоматически меняется при изменении свойства Font. Size
TBorderStyle = bsNone..bsSingle; property BorderStyle: TBorderStyle;Определяет стиль обрамления компонента: bsNone - нет обрамления; bsSingle - компонент обрамляется одной линией
property CanUndo: Boolean;Содержит True, если сделанные пользователем изменения в тексте Text можно убрать методом Undo
TEditCharCase = (ecNormal, ecUpperCase, ecLowerCase) ;Определяет автоматическое преобразование высоты букв: ecNormal - нет преобразования; ecUpper
property CharCase: TEditCharCase;Case - все буквы заглавные; ecLowerCase - все буквы строчные. Правильно работает с кириллицей
property HideSelection: Boolean;Если содержит False, выделение текста сохраняется при потере компонентом фокуса ввода
property MaxLength: Integers;Определяет максимальную длину текстовой строки. Если имеет значение 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: Integers;Содержит длину выделенной части текста
property SelStart: Integers; Содержит номер первого символа выделенной части текста
property SelText: Strings-Содержит выделенную часть текста
property Text: String;Содержит весь текст
Методы компонента:
 procedure Сlears; Удаляет весь текст
procedure ClearSelection;Удаляет выделенный текст
procedure ClearUndo;Очищает буфер метода Undo
procedure CopyToClipboard;Копирует выделенный текст в clipboard
procedure CutToClipboard;Копирует выделенный текст в clipboard, после чего удаляет выделенный текст из компонента
function GetSelTextBuf(Buffer: PChar; BufSize: Integer): Integers;Копирует не более BufSize символов выделенного текста в буфер Buffer
procedure PasteFromClipboard;Заменяет выделенный текст содержимым Clipboard, а если нет выделенного текста, копирует содержимое Clipboard в позицию текстового курсора
procedure SelectAll;Выделяет весь текст
procedure SetSelText-Buf(Buffer: PChar);Заменяет выделенный текст содержимым Buffer, а если нет выделенного текста, копирует содержимое Buffer в позицию текстового курсора
procedure Undo;Восстанавливает текст в том виде, в каком он был перед последним получением компонентом фокуса ввода



Свойство CanUndo и методы СlearUndo и undo впервые введены в версии Delphi 4.



 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь