ACCELERATORS Resource

This resource-definition statement specifies one or more accelerators for an application. An accelerator is an application-defined keystroke that provides the user with a quick way to perform a task.

The TranslateAccelerator function is used by the application to translate accelerator messages from the application queue into WM_COMMAND or WM_SYSCOMMAND messages.

Syntax

acctablename ACCELERATORS[[optional-statements]]{event, idvalue, [[type]] [[options]]. . .}

Parameters

acctablename

Specifies either a unique name or a 16-bit unsigned integer value that identifies the resource.

optional-statements

Specifies options for accelerators. It can be zero or more of the following statements:

Value Description
CHARACTERISTICS dword User-defined information about a resource used by tools that read and write resource files. For more information, see CHARACTERISTICS.
LANGUAGE language, sublanguage Specifies the language for the resource. For more information, see LANGUAGE.
VERSION dword User-defined version number for the resource used by tools that read and write resource files. For more information, see VERSION.

event

Specifies the keystroke to be used as an accelerator. It is one of the following character types:

Value Description
char A single character enclosed in double quotation marks (“). The character can be preceded by a caret (^). This means that the character is a control character—the accelerator is only activated if the CONTROL key is down.
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.

idvalue

Specifies a 16-bit unsigned integer value that identifies the accelerator.

type

Required only when the event parameter is a character or a virtual-key character. The type parameter specifies either ASCII or VIRTKEY; the integer value of event is interpreted accordingly. When VIRTKEY is specified and event contains a string, the string must be uppercase.

options

Specifies the options that define the accelerator. It can be one or more of the following values:

Value Description
NOINVERT Specifies that no top-level menu item is highlighted when the accelerator is used. This is useful when defining accelerators for actions that do not correspond to a menu item—for example, scrolling. If NOINVERT is omitted, a top-level menu item is highlighted 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. This has the same effect as using a caret (^) before the accelerator character in the event parameter. Applies only to virtual keys.

Example

The following code example shows how to use 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
} 
 

See Also

TranslateAccelerator, CHARACTERISTICS, DIALOG, LANGUAGE, MENU, RCDATA, STRINGTABLE, VERSION