Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как cделать,чтобы TEdit воспринимал одни цифры и DecimalSeparator [D5]


exolon ©   (2007-01-24 05:31:00) 

На  FAQ этого сайта есть одноименная тема, и ответ. Но ставя эту процедуру только на форму не помогает. TEdit продолжает вводить и буквы. Приходиться на каждое TEdit ставить свою процедуру обработки OnKeyPress. Почему?

{ как зделать, чтобы TEdit воспринимал одни цифры и DecimalSeparator

обработать специальнам образом OnKeyPress

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9',DecimalSeparator]) then Key := #0;
end; }


unknown   (2007-01-24 06:07:00) [1]

Это какой-то неправильный пример.
Для всех едитов на форме можно так:
Для начала надо
Form1.KeyPreview:=true;
далее
procedure TForm1.FormKeyPress(Sender  : TObject; var Key  : Char);
begin
 if (ActiveControl Is TEdit) And Not (Key In ['0'..'9', DecimalSeparator]) then
   Key := #0;
end;

Но, ИМХО правильней сделать один обработчик EditKeypress и назначить его
всем едитам.


Наверх

Титульная страница Поиск, карта сайта Написать письмо