ACCEL structure (winuser.h)

Defines an accelerator key used in an accelerator table.

Syntax

typedef struct tagACCEL {
#if ...
  BYTE  fVirt;
#if ...
  WORD  key;
#if ...
  WORD  cmd;
#else
  WORD  fVirt;
#endif
#else
  WORD  key;
#endif
#else
  DWORD cmd;
#endif
} ACCEL, *LPACCEL;

Members

fVirt

Type: BYTE

The accelerator behavior. This member can be one or more of the following values.

Value Meaning
FALT
0x10
The ALT key must be held down when the accelerator key is pressed.
FCONTROL
0x08
The CTRL key must be held down when the accelerator key is pressed.
FNOINVERT
0x02
No top-level menu item is highlighted when the accelerator is used. If this flag is not specified, a top-level menu item will be highlighted, if possible, when the accelerator is used. This attribute is obsolete and retained only for backward compatibility with resource files designed for 16-bit Windows.
FSHIFT
0x04
The SHIFT key must be held down when the accelerator key is pressed.
FVIRTKEY
TRUE
The key member specifies a virtual-key code. If this flag is not specified, key is assumed to specify a character code.

key

Type: WORD

The accelerator key. This member can be either a virtual-key code or a character code.

cmd

Type: WORD

The accelerator identifier. This value is placed in the low-order word of the wParam parameter of the WM_COMMAND or WM_SYSCOMMAND message when the accelerator is pressed.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header winuser.h (include Windows.h)

See also

Conceptual

Keyboard Accelerators

Reference

WM_COMMAND

WM_SYSCOMMAND