|
IOleInPlaceFrame::TranslateAccelerator
Translates accelerator keystrokes intended for the container's frame while an
object is active in place.
HRESULT TranslateAccelerator(
LPMSG lpmsg,
| //Points to MSG structure
| WORD wID
| //Command Identifier value
| );
|
|
Parameters
lpmsg
[in] Points to an MSG structure containing the keystroke message.
wID
[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.
Return Values
S_OK
The keystroke was used.
S_FALSE
The keystroke was not used.
E_INVALIDARG
One or more arguments are invalid.
E_UNEXPECTED
An unexpected error occurred.
Comments
Notes to Callers
The IOleInPlaceFrame::TranslateAccelerator 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
use wID 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 and DispatchMessage only if both translation functions fail.
Note 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
in-place session.
See Also
OleTranslateAccelerator, IOleInPlaceActiveObject::TranslateAccelerator
TranslateAccelerator, TranslateMessage, DispatchMessage, TranslateMDISysAccel in Win32
| Last news from Greatis Software |
 |
|
Nostalgia .Net |
|
.Net is powerful, but not all-powerful, so sometimes we need to use Win32 API for our .Net applications. It's simple enough with Platform Invoke if you have Win32 skill, but we do not always have time to dig the ancient documentation, declare the special types that are compatible with Win32, find the values of the Win32's constants and so on. Nostalgia .Net offers several simple-to-use classes, and components that will allow you to forget about the headache of Win32 and just use the power of Win32 in your application the same way as you use the native. Net classes. More » |
| Recommended software for developers |
 |
|
Ultimate Pack |
|
Component pack for Delphi and C++ Builder that contains runtime form designer, runtime object inspector, print suite and much more for the very special price. More » |
 |
|
Form Designer .Net |
|
Unique runtime form design solution that allows to edit any form in .Net WinForms application at runtime with full source codes for only 300 euro! More » |
 |
|
Print Suite .Net |
|
Print Suite .Net is a set of components for easy printing texts, images and grids from your WinForms applications. Full C# source codes are available More » |
 |
|
Gradient Controls .Net |
|
Gradient Controls .Net offers controls with gradient background feature. Labels, panels and so on... Full C# source codes are available More » |
 |
|
Greatis iGrid |
|
iGrid plots drawing grid right over your desktop, so you can use it everywhere, with any drawing application without any special plugins for different graphic editors. More » |
All the contacts and projectsDmitry Vasiliev (just.dmitry)
Related LinksSoftware for Visual Studio .NET developers Software for Delphi and C++ Builder developers Software for Visual Basic 6 developers Delphi Tips&Tricks MegaDetailed.NET More Online Helps Win32 Programmer's Reference Win32 Multimedia Programmer's Reference OLE Programmer's Reference Microsoft Windows Pen API Programmer's Reference Microsoft Windows Sockets 2 Reference Microsoft Windows Telephony API (TAPI) Programmer's Reference Unix Manual Pages
|