Шаг 354 - CWnd::OnChar

afx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags );

Параметры
nChar
Содержит символьное значение кода клавиши.
nRepCnt
Содержит повторный счет, число раз, сколько нажатие клавиши повторено, когда пользователь удерживает клавишу.
nFlags
Содержит скэн-код, код перехода клавиши, предыдущее состояние клавиши, и контекстный код, как показано в следующем списке:

0-15		Определяет повторный счет. Значение - число раз,  сколько нажатие клавиши повторено в результате 
		удерживания клавиши пользователем. 
16-23 	 	Определяет скэн-код. Значение зависит от первоначального изготовителя оборудования (OEM)
24	 	Определяет, является ли клавиша расширенной клавишей, типа правых клавиш ALT и CTRL, которые 
		появляются на расширенной с 101 или 102 клавишами клавиатуре. 
		Значение 1, если это - расширенная клавиша, иначе 0. 
25-28 	 	Внутренне использование Windows. 
29	 	Определяет контекстный код. Значение 1, если клавиша ALT нажата  в то же время как и 
		клавиша нажата, иначе 0. 
30	 	Определяет предыдущее состояние клавиши. Значение 1  если клавиша  нажата прежде, чем 
		сообщение послано, или 0 если клавиша вверху. 
31		Определяет состояние перехода. Значение 1, если клавиша отпускается или  
		0 если клавиша нажимается.

Замечания
Рамка вызывает эту функцию, когда нажатие клавиши транслирует к несистемному символу. Эта функция вызвана перед OnKeyUp функцией и после того, как OnKeyDown функция вызвана. OnChar содержит значение клавиши клавиатуры, нажимаемой или отпущенной.
Потому что не имеется, обязательно взаимно-однозначного соответствие между нажатыми клавишами и сгенерированными обращениями OnChar, информация в nFlags вообще не полезна для прикладных программ. Информация в nFlags применяется только к самому современному обращению к OnKeyUp или OnKeyDown функции, которая предшествует обращению к OnChar.
Для IBM Расширенной 101 и 102 клавишной клавиатур, расширенные клавиши - правый ALT и СRTL на основном разделе клавиатуры; INS, DEL, HOME, END, PAGE UP, PAGE DOWN, и клавиши курсора в кластерах влево от цифровой клавиатуры, наклонная черта вправо (/) и клавиша ENTER в цифровой клавиатуре. Некоторые другие клавиатуры могут поддерживать бит расширяемой - клавиши в nFlags.

Эта функция вызвана рамкой, чтобы позволить Вашей прикладной программе обрабатывать сообщение Windows. Параметры, переданные к Вашей функции отражают параметры, полученные рамкой, когда сообщение было получено. Если Вы вызываете реализацию базового класса этой функции, та реализация использует параметры, первоначально переданные с сообщением и не параметры, которые Вы обеспечиваете функции.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.