This documentation is archived and is not being maintained.


The framework calls this member function when a nonsystem key is released.

afx_msg void OnKeyUp( 
   UINT nChar, 
   UINT nRepCnt, 
   UINT nFlags  


Specifies the virtual key code of the given key. For a list of of standard virtual key codes, see Winuser.h


Repeat count (the number of times the keystroke is repeated as a result of the user holding down the key).


Specifies the scan code, key-transition code, previous key state, and context code, as shown in the following list:




Scan code (OEM-dependent value). Low byte of high-order word.


Extended key, such as a function key or a key on the numeric keypad (1 if it is an extended key; otherwise 0).


Not used.


Used internally by Windows.


Context code (1 if the ALT key is held down while the key is pressed; otherwise 0).


Previous key state (1 if the key is down before the call, 0 if the key is up).


Transition state (1 if the key is being released, 0 if the key is being pressed).

For a WM_KEYUP message, the key-transition bit (bit 15) is 1 and the context-code bit (bit 13) is 0.

A nonsystem key is a keyboard key that is pressed when the ALT key is not pressed or a keyboard key that is pressed when the CWnd has the input focus.

For IBM Enhanced 101- and 102-key keyboards, enhanced keys are the right ALT and the right CTRL keys on the main section of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN, and arrow keys in the clusters to the left of the numeric keypad; and the slash (/) and ENTER keys in the numeric keypad. Some other keyboards may support the extended-key bit in nFlags.


This member function is called by the framework to allow your application to handle a Windows message. The parameters passed to your function reflect the parameters received by the framework when the message was received. If you call the base-class implementation of this function, that implementation will use the parameters originally passed with the message and not the parameters you supply to the function.

Header: afxwin.h