IOleInPlaceActiveObject::TranslateAccelerator method (oleidl.h)

Processes menu accelerator-key messages from the container's message queue. This method should only be used for objects created by a DLL object application.


HRESULT TranslateAccelerator(
  [in] LPMSG lpmsg


[in] lpmsg

A pointer to an MSG structure for the message that might need to be translated.

Return value

This method returns S_OK on success. Other possible return values include the following.

Return code Description
The message was not translated.
The specified parameter values are not valid.
IThere is insufficient memory available for the operation.
An unexpected error has occurred.


Notes to Callers

Active in-place objects must always be given the first chance at translating accelerator keystrokes. You can provide this opportunity by calling IOleInPlaceActiveObject::TranslateAccelerator from your container's message loop before doing any other translation. You should apply your own translation only when this method returns S_FALSE.

If you call IOleInPlaceActiveObject::TranslateAccelerator for an object that is not created by a DLL object application, the default object handler returns S_FALSE.

Notes to Implementers

An object created by an EXE object application gets keystrokes from its own message pump, so the container does not get those messages.

If you need to implement this method, you can do so by simply wrapping the call to the TranslateAccelerator function.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header oleidl.h

See also