|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| Yes
| Win32s
| Yes
| Import Library
| user32.lib
| Header File
| winuser.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
TranslateAccelerator
The
TranslateAccelerator function processes accelerator keys for menu commands. The function
translates a
WM_KEYDOWN or
WM_SYSKEYDOWN message to a
WM_COMMAND or
WM_SYSCOMMAND message (if there is an entry for the key in the specified accelerator table)
and then sends the WM_COMMAND or WM_SYSCOMMAND message directly to the
appropriate window procedure.
TranslateAccelerator does not return until the window procedure has processed the message.
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 function or created by a call to the
CreateAcceleratorTable function.
lpMsg
Points to an
MSG structure that contains message information retrieved from the calling
thread's message queue by using the
GetMessage or
PeekMessage function.
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 or
WM_SYSCOMMAND message contains the value 1.
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 function to process the message again.
An accelerator need not correspond to a menu command.
If the accelerator command corresponds to a menu item, the application is sent
WM_INITMENU and
WM_INITMENUPOPUP messages, as if the user were trying to display the menu. However, these
messages are not sent if any of the following conditions exist:
- 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
CreateAcceleratorTable,
GetMessage,
LoadAccelerators,
MSG,
PeekMessage,
SetCapture,
TranslateMessage,
WM_COMMAND,
WM_INITMENU,
WM_INITMENUPOPUP,
WM_KEYDOWN,
WM_SYSKEYDOWN,
WM_SYSCOMMAND
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database