Сообщение WM_SETHOTKEY 


Прикладная программа посылает сообщение WM_SETHOTKEY окну, чтобы связать комбинацию "горячая" клавиша с окном. Когда пользователь нажимает комбинацию "горячая" клавиша, система активизирует окно.

Синтаксис

 Чтобы отправить это сообщение, вызовите функцию SendMessage следующим образом.

lResult = SendMessage(       // тип возвращаемого значения в
                             // переменной lResult - LRESULT  
   (HWND) hWndControl// дескриптор целевого органа управления
   (UINT)WM_SETHOTKEY,       // ID сообщения
   (WPARAMwParam         // = (WPARAM) () wParam;
   (LPARAMlParam           // = (LPARAM) () lParam;
);

Параметры

wParam

Младшее слово устанавливает код виртуальной клавиши, который связывается с окном.

Старшее слово может состоять из одного или нескольких ниже следующих значений.

Установка параметра  wParam в значение ПУСТО (NULL) удаляет "горячую" клавишу, связанную с окном.

Значение

Предназначение

HOTKEYF_ALT

Клавиша ALT

HOTKEYF_CONTROL

Клавиша CTRL

HOTKEYF_EXT

Дополнительная клавиша

HOTKEYF_SHIFT

Клавиша SHIFT

lParam

Этот параметр не используется.

Возвращаемые значения

Величина возвращаемого значения является одной из ниже перечисленных:

Значение

Описание

-1

Функция потерпела неудачу - комбинация "горячая" клавиша является недопустимой.

0

Функция потерпела неудачу - окно является недопустимым.

1

Функция завершила свою работу успешно, и ни у какого другого окна нет такой же комбинации "горячая" клавиша.

2

Функция завершила свою работу успешно, но другое окно уже имеет такую же комбинацию "горячая" клавиша.

Замечания

Комбинация "горячая" клавиша не может быть связана с дочерним окном.

VK_ESCAPE, VK_SPACE и VK_TAB - недопустимые комбинации "горячая" клавиша.

Когда пользователь нажимает комбинацию "горячая" клавиша, система генерирует сообщение WM_SYSCOMMAND с параметром wParam равным SC_HOTKEY и параметром lParam равным дескриптору окна. Если это сообщение передается  в функцию DefWindowProc, система выставит  последнее активное выскакивающее окно (если таковое существует) или окно активизирует само (если нет никакого выпрыгивающего окна).

Окно может иметь только одну комбинацию "горячая" клавиша. Если окно уже связано с комбинацией "горячая" клавиша, новая "горячая" клавиша заменяет старую. Если больше чем одно окно связаны с той же самой комбинацией "горячая" клавиша, окно, которое активизировано этой комбинацией, является выбранным наудачу.

Эти комбинации "горячая" клавиша несвязанны с "горячими" клавишами установленными при помощи RegisterHotKey.

Смотри также

Обзор Ввод данных с клавиатуры, RegisterHotKey, WM_GETHOTKEYWM_SYSCOMMAND

Размещение и совместимость WM_SETHOTKEY

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Используемая библиотека

Нет

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz