На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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;
}


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Создание Управления Hot-Key



Следующее функции создает горячее-ключевое управление, использует HKM_SETRULES и сообщения HKM_SETHOTKEY, чтобы инициализировать это и возвращает ручку на управление. Это горячее-ключевое управление не позволяет потребителя, чтобы выбирать горячий ключ, который - единственный unmodified ключ ни делает это разрешать потребителя, чтобы выбирать только ПЕРЕМЕЩЕНИЕ и ключ. (Эти правила эффективно мешают потребителя чтобы выбирать горячий ключ, который мог случайно быть введен при занесении текста.)

// InitializeHotkey - СОЗДАЕТ горячее-ключевое управление и устанавливает правила // и встроенную обстановку для этого.
// Возврат ручка горячего-ключевого управления.
// hwndDlg - Ручка родительского окна (диалоговый ящик)
//
// Глобальная переменная
// g_hinst - ручка прикладного примера extern g_hinst HINSTANCE;
HWND WINAPI InitializeHotkey(HWND hwndDlg)
{
// Проверьте, что общее управление DLL загружено.
InitCommonControls();

hwndHot = CreateWindowEx(

0, // никакие расширенные стили HOTKEY_CLASS, // имя класса "", // никакое название (заголовок) WS_CHILD | WS_VISIBLE, // стиль 10, 10, // позиция 200, 20, // размер hwndDlg, // родительское окно НЕДЕЙСТВИТЕЛЬНОЕ, // использует меню класса g_hinst, // пример

НЕДЕЙСТВИТЕЛЬНЫЙ // никакой параметр WM_CREATE
);

SetFocus(hwndHot);

// Установившее правила для неправильных ключевых комбинаций. Если пользователь // не поставляет клавишу модификатора, используйте ALT как модификатор.
// Если пользователь поставляет СДВИГ как клавишу модификатора, используйте // СДВИГАТЬ + ALT взамен.
SendMessage(hwndHot, HKM_SETRULES, (WPARAM) HKCOMB_NONE | HKCOMB_S, // НЕПРАВИЛЬНЫЕ ключевые комбинации MAKELPARAM(HOTKEYF_ALT, 0)); // добавьте ALT к неправильным данным


// Установившее CTRL + ALT + как по умолчанию горячая клавиша для этого окна.
// 0x41 - виртуальный-ключевой код для 'A.
SendMessage(hwndHot, HKM_SETHOTKEY, MAKEWORD(0x41, HOTKEYF_CONTROL | HOTKEYF_ALT), 0);

возвращайте hwndHot;
}


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz