Translates accelerator keystrokes intended for the container's frame while an
object is active in place.
| LPMSG lpmsg,
||//Points to MSG structure
| WORD wID
||//Command Identifier value
[in] Points to an MSG
structure containing the keystroke message.
[in] Contains the command identifier value corresponding to the keystroke in
the container-provided accelerator table. Containers should use this value
instead of translating again.
The keystroke was used.
The keystroke was not used.
One or more arguments are invalid.
An unexpected error occurred.
Notes to Callers
method is called indirectly by OleTranslateAccelerator
when a keystroke accelerator intended for the container (frame) is received.
Notes to Implementors
The container application should perform its usual accelerator processing, or
directly, and then return, indicating whether the keystroke accelerator was
processed. If the container is an MDI application and the Windows TranslateAccelerator
call fails, the container can call the Windows TranslateMDISysAccel
function, just as it does for its usual message processing.
In-place objects should be given first chance at translating accelerator
messages. However, because objects implemented by DLL object applications do not
have their own message pump, they receive their messages from the container's
message queue. To ensure that the object has first chance at translating messages,
a container should always call IOleInPlaceActiveObject::TranslateAccelerator
before doing its own accelerator translation. Conversely, an executable
object application should call OleTranslateAccelerator
after calling TranslateAccelerator
, calling TranslateMessage
only if both translation functions fail.
You should define accelerator tables for containers so they will work
properly with object applications that do their own accelerator keystroke
translations. Tables should be defined as follows:
"char", wID, VIRTKEY, CONTROL
This is the most common way to describe keyboard accelerators. Failure to do
so can result in keystrokes being lost or sent to the wrong object during an
TranslateAccelerator, TranslateMessage, DispatchMessage, TranslateMDISysAccel in Win32
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages