Creating a Hot-Key Control
The following function creates a hot-key control, uses the
HKM_SETRULES and
HKM_SETHOTKEY messages to initialize it, and returns a handle to the control. This hot-key
control does not allow the user to choose a hot key that is a single unmodified
key, nor does it permit the user to choose only SHIFT and a key. (These rules effectively prevent the user from choosing a hot key
that might be accidentally entered while typing text.)
// InitializeHotkey - creates a hot-key control and sets rules
// and default settings for it.
// Returns the handle of the hot-key control.
// hwndDlg - handle of the parent window (dialog box)
//
// Global variable
// g_hinst - handle of the application instance
extern HINSTANCE g_hinst;
HWND WINAPI InitializeHotkey(HWND hwndDlg)
{
// Ensure that the common control DLL is loaded.
InitCommonControls();
hwndHot = CreateWindowEx(
0, // no extended styles
HOTKEY_CLASS, // class name
"", // no title (caption)
WS_CHILD | WS_VISIBLE, // style
10, 10, // position
200, 20, // size
hwndDlg, // parent window
NULL, // uses class menu
g_hinst, // instance
NULL // no WM_CREATE parameter
);
SetFocus(hwndHot);
// Set rules for invalid key combinations. If the user
// does not supply a modifier key, use ALT as a modifier.
// If the user supplies SHIFT as a modifier key, use
// SHIFT + ALT instead.
SendMessage(hwndHot, HKM_SETRULES,
(WPARAM) HKCOMB_NONE | HKCOMB_S, // invalid key combinations
MAKELPARAM(HOTKEYF_ALT, 0)); // add ALT to invalid entries
// Set CTRL + ALT + A as the default hot key for this window.
// 0x41 is the virtual-key code for 'A'.
SendMessage(hwndHot, HKM_SETHOTKEY,
MAKEWORD(0x41, HOTKEYF_CONTROL | HOTKEYF_ALT), 0);
return hwndHot;
}
- 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