IsAccelerator
Determines
whether the keystroke maps to an accelerator in the given accelerator table.
BOOL IsAccelerator(
HACCEL hAccel, |
//Handle to accelerator table |
INT cAccelEntries, |
//Number of entries in the accelerator table |
LPMSG lpMsg, |
//Pointer to the keystroke message to be translated |
WORD * lpwCmd |
//Pointer to return the corresponding command
identifier |
); |
|
Parameters
hAccel
[in]
Handle to the accelerator table.
cAccelEntries
[in]
Number of entries in the accelerator table.
lpMsg
[in] Pointer
to the keystroke message to be translated.
lpwCmd
[out] Pointer
to where to return the corresponding command identifier if there is an
accelerator for the keystroke. It may be NULL.
Return Values
TRUE
The message
is for the object application.
FALSE
The message
is not for the object and should be forwarded to the container.
Remarks
While an
object is active in-place, the object always has first chance to
translate the keystrokes into accelerators. If the keystroke corresponds to one
of its accelerators, the object must not call the OleTranslateAccelerator function even if its call to the Windows TranslateAccelerator
function fails. Failure to process keystrokes in this manner can lead to
inconsistent behavior.
If the
keystroke is not one of the object s
accelerators, then the object must call OleTranslateAccelerator to let
the container try its accelerator translation.
The object s server can call IsAccelerator to determine if
the accelerator message belongs to it. Some servers do accelerator translation
on their own and do not call TranslateAccelerator. Those applications
will not call IsAccelerator, because they already have the information.
See Also