Microsoft Foundation Classes (mfc.hlp) (
Table of Contents;
Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software,
purely for historical purposes.
If you're looking for up-to-date documentation, particularly for programming,
you should not rely on the information found here, as it will be woefully
out of date.
CWnd::OnSysKeyUp
◄CWnd► ◄Up► ◄Contents► ◄Index► ◄Back►
──Microsoft Foundation Classes──────────────────────────────────────────────
afx_msg void OnSysKeyUp( UINT nChar, UINT nRepCnt, UINT nFlags );
Parameter Description
<nChar> Specifies the virtual-key code of the key being pressed.
<nRepCnt> Specifies the repeat count.
<nFlags> Specifies the scan code, key-transition code, previous key
state, and context code, as shown in the following list:
Value Description
0-7 Scan code (OEM-dependent value). Low byte of
high-order word.
8 Extended key, such as a function key or a key on the
numeric keypad (1 if it is an extended key;
otherwise 0).
9-10 Not used.
11-12 Used internally by Windows.
13 Context code (1 if the ALT key is held down while
the key is pressed, 0 otherwise).
14 Previous key state (1 if the key is down before the
message is sent, 0 if the key is up).
15 Transition state (1 if the key is being released, 0
if the key is being pressed).
For OnSysKeyUp calls, the key-transition bit (bit 15) is 1.
The context-code bit (bit 13) is 1 if the ALT key is down
while the key is pressed; it is 0 if the message is sent to
the active window because no window has the input focus.
Remarks
If the CWnd has the focus, the OnSysKeyUp member function is called when
the user releases a key that was pressed while the ALT key was held
down. If no window currently has the input focus, the active window's
OnSysKeyUp member function is called. The CWnd that receives the call
can distinguish between these two contexts by checking the context code
in <nFlags>.
When the context code is 0, the WM_SYSKEYUP message received by
OnSysKeyUp can be passed to the ◄TranslateAccelerator► Windows function,
which will handle it as though it were a normal key message instead of a
system-key message. This allows accelerator keys to be used with the
active window even if the active window does not have the input focus.
For IBM Enhanced 101- and 102-key keyboards, enhanced keys are the right
ALT and the right CONTROL keys on the main section of the keyboard; the
INSERT, DELETE, 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>.
For non-USA Enhanced 102-key keyboards, the right ALT key is handled as
a CONTROL-ALT key. The following shows the sequence of messages and
calls that result when the user presses and releases this key:
Sequence Function Message passed
accessed
1. ◄WM_KEYDOWN► VK_CONTROL
2. ◄WM_KEYDOWN► VK_MENU
3. ◄WM_KEYUP► VK_CONTROL
4. ◄WM_SYSKEYUP► VK_MENU
This message-handler member function calls the ◄Default► member
function. Override this member function in your derived class to handle
the ◄WM_SYSKEYUP► message.
See Also
◄::TranslateAccelerator►, ◄WM_SYSKEYDOWN►, ◄CWnd::Default►,
◄WM_SYSKEYUP►
-♦-