![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сообщение WM_Char [D7, Win2k]
Gamlet © (2004-04-06 15:08:00)Здрасте.
Мастера, есть проблема: Обрабатываю сообщение WM_KeyDown и в обработчике пишу
SendMessage(Tedit.Handle,WM_Char,WParam,lParam);
Глюк такой: при нажатии num-цифр выводятся прописные буквы,
а при нажатии DEL выводится точка и т.д.
В общем чето не сходится и я не могу понять что, .. Парамы вроде у них (WM_Char and WM_KeyDown) одинаковые..
Cobalt (2004-04-07 01:31:00) [1]2 Gamlet
Исходная предпосылка
> Парамы вроде у них (WM_Char and WM_KeyDown) одинаковые..
неверна.
nVirtKey = (int) wParam; // virtual-key code
chCharCode = (TCHAR) wParam; // character code
Gamlet (2004-04-06 16:37:00) [2]Ладно, но при нажатии "стрелка влево" в TEdit'е некстати появляется символ '%' и теперь возникает проблема перемещения курсора в Tedit'e... иии вроде WParam точно у них одинаковый должен быть
MBo (2004-04-06 15:19:00) [3]спарка WM_KeyDown+WM_KeyUp обрабатывает нажатия клавиш с учетом состояния клавиатуры, в зависимости от CapsLock, Shift и т.д. генерируя из кода клавиши WM_CHAR c символом (если это в данном случае возможно). Ты же не учитываешь это (в данном случае NumLock)