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

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

Сообщение 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)


Наверх

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