The ACCELERATORS resource-definition statement specifies one or more accelerators for an application. An accelerator is a keystroke defined by the application to give the user a quick way to perform a task.
The TranslateAccelerator function is used to translate accelerator messages from the application queue into WM_COMMAND or WM_SYSCOMMAND messages.
acctablename ACCELERATORS [optional-statements] { event, idvalue, [type] [options] . . . }
Statement | Description |
---|---|
CHARACTERISTICS dword | User-defined information about a resource that can be used by tools that read and write resource files. |
LANGUAGE language, sublanguage | Specifies the language for the resource. The parameters are constants from WINNT.H. |
VERSION dword | User-defined version number for the resource that can be used by tools that read and write resource files. |
Type | Description |
---|---|
"char" | A single character enclosed in double quotation marks ("). The character can be preceded by a caret (^), meaning that the character is a control character. |
Character | An integer value representing a character. The type parameter must be ASCII. |
virtual-key character | An integer value representing a virtual key. The virtual key for alphanumeric keys can be specified by placing the uppercase letter or number in double quotation marks (for example, "9" or "C"). The type parameter must be VIRTKEY. |
Option | Description |
---|---|
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. |
ALT | Causes the accelerator to be activated only if the ALT key is down. Applies only to virtual keys. |
SHIFT | Causes the accelerator to be activated only if the SHIFT key is down. Applies only to virtual keys |
CONTROL | Defines the character as a control character (the accelerator is only activated if the CONTROL key is down). This has the same effect as using a caret (^) before the accelerator character in the event parameter. Applies only to virtual keys |
The following example demonstrates the use of accelerator keys:
1 ACCELERATORS
{
"^C", IDDCLEAR ; control C
"K", IDDCLEAR ; shift K
"k", IDDELLIPSE, ALT ; alt k
98, IDDRECT, ASCII ; b
66, IDDSTAR, ASCII ; B (shift b)
"g", IDDRECT ; g
"G", IDDSTAR ; G (shift G)
VK_F1, IDDCLEAR, VIRTKEY ; F1
VK_F1, IDDSTAR, CONTROL, VIRTKEY ; control F1
VK_F1, IDDELLIPSE, SHIFT, VIRTKEY ; shift F1
VK_F1, IDDRECT, ALT, VIRTKEY ; alt F1
VK_F2, IDDCLEAR, ALT, SHIFT, VIRTKEY ; alt shift F2
VK_F2, IDDSTAR, CONTROL, SHIFT, VIRTKEY ; ctrl shift F2
VK_F2, IDDRECT, ALT, CONTROL, VIRTKEY ; alt control F2
}
TranslateAccelerator
CHARACTERISTICS, DIALOG, LANGUAGE, MENU, RCDATA, STRINGTABLE, VERSION