Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

In .rc accelerators section, what does NOINVERT do?

347 views
Skip to first unread message

L.Allan

unread,
Nov 14, 2008, 1:50:14 PM11/14/08
to
I'm fuzzy on what the NOINVERT attribute does in the ACCELERATORS section of
the .rc file
For example:
IDR_MAINFRAME ACCELERATORS
BEGIN
"H", ID_VIEW_HEADINGS, VIRTKEY, CONTROL, NOINVERT
"H", ID_HELLO_WORLD, VIRTKEY, SHIFT, CONTROL, NOINVERT
END

This defines the ^H keyboard shortcut to toggle whether headings are
rendered or not. It also defines

IIRC, the VC6 Wizard geneates the NOINVERT. Some of the "boilerplate"
accelerators have the NOINVERT, and some don't.

Does it make a difference when you define 3 key sequences, such as
"H", ID_HELLO_WORLD, VIRTKEY, SHIFT, CONTROL, NOINVERT
to define Shift+Ctrl+H to invoke a handler that presents a MessageBox with
"Hello, World".

I looked in MSDN and didn't find an explanation of what NOINVERT actually
does (or keeps from happening). Is there an INVERT? The only think I found
in MSDN for INVERT was related to Exchange-Server.

Malachy Moses

unread,
Nov 14, 2008, 2:20:58 PM11/14/08
to

From "ACCELERATORS Resource" at http://msdn.microsoft.com/en-us/library/aa380610(VS.85).aspx
:

NOINVERT Specifies that no top-level menu item is highlighted when the
accelerator is used. This is useful when defining accelerators for
actions such as scrolling that do not correspond to a menu item. If
NOINVERT is omitted, a top-level menu item will be highlighted (if
possible) when the accelerator is used. This attribute is obsolete and
retained only for backwards compatibility with resource files designed
for 16-bit Windows.

0 new messages