: afxjnsg void CWnd::0nKeyDown

Автор admin Суббота, 2 мая 2009 11:32

: afxjnsg void CWnd::0nKeyDown(UINT nChar. UINT nRepCnt, UINT nFlags): afxjnsg void CWnd::OnKeyUp(UINT nChar, UINT nRepCnt. UINT nFlags); Аргумент nChar содержит значение, которое называется виртуальным кодом клавиши и определяет нажатую клавишу, аргумент nRepCnt хранит количество нажатий клавиши, а аргумент nFl ags определяет скан-код, предыдущее состояние клавиши или код контекста (см. табл. В.13 приложения В). Заметим, что с помощью указанных функций можно обрабатывать лишь нажатия клавиш, не генерирующих сообщение WM_CHAR. Список этих клавиш и их виртуальных кодов приведен в табл. 12.1. (Клавиши, генерирующие сообщения WM_CHAR, описаны в следующем разделе.) Чтобы определить одновременное нажатие двух клавиш, например Ctrl и Ноте, необходимо при появлении сообщения WMJCEYDOWN, вызванного нажатием одной клавиши, проверить состояние другой клавиши. Для этого в функции CWnd: :0п-KeyDownO нужно вызвать Win32 API функцию : :GetKeyState(), передав ей виртуальный код проверяемой клавиши. Прототип этой функции имеет такой вид: SHORT GetKeyState( int nVirtKey ); 320 Занятие 12. Ввод текстовой информации Цифра


Комментарии закрыты.