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

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

← →
-=GaLaN=- ©   (2003-10-15 11:35) [0]

При срабатывании сабжевого события в TEdit текст еще не меняется.
А хочется иметь уже измененное текстовое поле. Можно использовать OnChange, но тогда при программном изменении текста в TEdit тоже будет срабатывать событие. А надо, чтобы это происходило только если пользователь сам изменяет текст.
Как можно получить событие типа OnKeyPressed, т.е. сразу по изменению текста из-за нажатой клавиши?
Помогите, пожалуйста, никак не могу разобраться!


← →
Skier ©   (2003-10-15 11:37) [1]

WM_CHAR


← →
-=GaLaN=- ©   (2003-10-15 11:39) [2]

А что это такое и как этим пользоваться?


← →
Izyum ©   (2003-10-15 11:39) [3]

OnKeyUp


← →
Skier ©   (2003-10-15 11:44) [4]

>-=GaLaN=- © (15.10.03 11:39) [2]

> А что это такое

сообщение Windows


> как этим пользоваться?

написать свой обработчик этого сообщения и в нём заменять "плохие" символы на "хорошие"


← →
-=GaLaN=- ©   (2003-10-15 11:44) [5]

2Izyum: не годится, потому что если я зажму клавишу на пару секунд, у меня будет не несколько событий, а только одно.


← →
-=GaLaN=- ©   (2003-10-15 12:03) [6]

Вот я правильно ловлю message? Ибо ничего не ловится. =(
procedure WMChar(var Msg: TWMChar); message WM_CHAR;


← →
Skier ©   (2003-10-15 12:06) [7]

-=GaLaN=- © (15.10.03 12:03) [6]
1) Нужно писать наследник TEdit и ловить WM_CHAR в нём
procedure WMChar(var Msg: TWMChar); - это метод наследника
TEdit
2) У экземпляра класс TEdit замещать оконную процедуру см. TWndMethod и ловить WM_CHAR в нём



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

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



Память: 0.46 MB
Время: 0.016 c
3-89120
User_OKA
2003-10-08 10:03
2003.10.27
Lookup


14-89514
Alexey Lipatov
2003-10-09 22:44
2003.10.27
Who is mr. Guru


1-89215
Raduga
2003-10-15 13:22
2003.10.27
Application.Terminate


6-89425
arous
2003-09-01 21:53
2003.10.27
Почтовый клиент


1-89265
Марат
2003-10-14 13:52
2003.10.27
Модальность форм




   Наверх