TranslateAccelerator
The TranslateAccelerator
function processes accelerator keys for menu commands. The function translates
a WM_KEYDOWN
int TranslateAccelerator(
HWND hWnd, |
// handle of
destination window |
HACCEL hAccTable, |
// handle of
accelerator table |
LPMSG lpMsg |
// address of
structure with message |
); |
|
Parameters
hWnd
Identifies
the window whose messages are to be translated.
hAccTable
Identifies an
accelerator table. The accelerator table must have been loaded by a call to the
LoadAccelerators
lpMsg
Points to an MSG
Return Values
If the
function succeeds, the return value is TRUE.
If the
function fails, the return value is FALSE. To get extended error information,
call GetLastError
Remarks
To
differentiate the message that this function sends from messages sent by menus
or controls, the high-order word of the wParam parameter of the WM_COMMAND
Accelerator
key combinations used to select items from the window menu are
translated into WM_SYSCOMMAND messages; all other accelerator key combinations
are translated into WM_COMMAND messages.
When TranslateAccelerator
returns a nonzero value and the message is translated, the application should
not use the TranslateMessage
An
accelerator need not correspond to a menu command.
If the
accelerator command corresponds to a menu item, the application is sent WM_INITMENU
The window is disabled.
The menu item is disabled.
The accelerator key combination
does not correspond to an item on the window menu and the window is
minimized.
A mouse capture is in effect.
For information about mouse capture, see the SetCapture function.
If the
specified window is the active window and no window has the keyboard focus
(which is generally the case if the window is minimized), TranslateAccelerator
translates WM_SYSKEYUP and WM_SYSKEYDOWN messages instead of WM_KEYUP and
WM_KEYDOWN messages.
If an
accelerator keystroke occurs that corresponds to a menu item when the window
that owns the menu is minimized, TranslateAccelerator does not send a
WM_COMMAND message. However, if an accelerator keystroke occurs that does not
match any of the items in the window s menu or in the window menu, the
function sends a WM_COMMAND message, even if the window is minimized.
See Also