ВУЗ:
ботчика события 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:
Содержит True, если сделанные пользовате-
лем изменения в тексте Text можно убрать ме-
105
Страницы
- « первая
- ‹ предыдущая
- …
- 103
- 104
- 105
- 106
- 107
- …
- следующая ›
- последняя »