Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Вниз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 вся ветка
Форум: "Основная";
Текущий архив: 2003.10.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c