Вниз
Скачать: CL | DM;

OnKeyPress не работает   Найти похожие ветки 

 
alless ©   (2004-03-11 17:36) [0]

День добрый. Появилась проблема - создаю компонент, наследника от TEdit, для которого определяю событие OnKeyPress, в котором проверяется ввод только цифр.
В конструкторе моего компонента пишу:
onKeyPress:=KeyPress;// KeyPress моя процедура
1. Ставлю компонент на форму и запускаю приложение, при вводе в TEdit- е контроль на ввод не выполняется, можно вводить и буквы.
2. Создаю компонент в RunTime - тогда все работает нормально, контроль выполняется.
Подскажите плз. в чем может быть ошибка.
Заранее благодарен.


 
Юрий Зотов ©   (2004-03-11 17:42) [1]

> alless ©   (11.03.04 17:36)  

Не надо обрабатывать событие, оставьте его пользователю компонента. Метод KeyPress уже имеется у предка - заместите его и там делайте, что нужно.

И имейте в виду, что юзер может вставлять текст из буфера обмена.


 
WebErr ©   (2004-03-11 17:48) [2]


> Юрий Зотов ©   (11.03.04 17:42) [1]

Имеется в виду:

TWinControl.KeyPress

который можно перегрузить

procedure KeyPress(var Key: Char); override;


 
alless ©   (2004-03-11 17:49) [3]

Я обнаружил что в 1 даже Create не срабатывается :((
А в 2 все работет

2 Юрий Зотов ©   (11.03.04 17:42) [1]
менял, не помогает


 
Юрий Зотов ©   (2004-03-11 17:52) [4]

> alless ©   (11.03.04 17:49) [3]

Так не бывает. Вернее бывает, но только если криво сделано. Вы override, часом, не забыли ли?


 
alless ©   (2004-03-11 17:56) [5]

2 Юрий Зотов ©   (11.03.04 17:52) [4]
Забыл. Заработало.Спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
4-1074584159
stkatch
2004-01-20 10:35
2004.03.28
Определить скрыто ли окно по Handle


1-1078641467
able
2004-03-07 09:37
2004.03.28
HTML - редактор


1-1078484538
Bill Gates
2004-03-05 14:02
2004.03.28
Перезват вывода программы


14-1077819018
Soft
2004-02-26 21:10
2004.03.28
В Киеве можно купить удлинитель USB на 5 метров?


14-1074852823
NoOne
2004-01-23 13:13
2004.03.28
В чём здесь логика?




   Наверх