Поделиться через


Метод ITfKeystrokeMgr::KeyDown (msctf.h)

Передает событие нажатия клавиш диспетчеру нажатия клавиш.

Синтаксис

HRESULT KeyDown(
  [in]  WPARAM wParam,
  [in]  LPARAM lParam,
  [out] BOOL   *pfEaten
);

Параметры

[in] wParam

Указывает код виртуального ключа ключа. Дополнительные сведения об этом параметре см. в разделе параметр wParam в WM_KEYDOWN.

[in] lParam

Указывает число повторов, код сканирования, флаг расширенного ключа, контекстный код, предыдущий флаг "ключ—состояние" и флаг состояния перехода ключа. Дополнительные сведения об этом параметре см. в разделе параметр lParam в WM_KEYDOWN.

[out] pfEaten

Указатель на boOL, который при выходе указывает, было ли обработано событие ключа. Если это значение получает значение TRUE, событие ключа было обработано и событие не должно быть переадресовывается в приложение. Если это значение равно FALSE, событие ключа не было обработано и событие должно быть перенаправлено в приложение.

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

Этот метод может возвращать одно из этих значений.

Значение Описание
S_OK
Метод выполнен успешно.
S_FALSE
Приемники событий ключей не установлены.
E_INVALIDARG
Один или несколько параметров являются недопустимыми.

Комментарии

Если этот метод выполнен успешно и pfEaten получает значение TRUE, приложение не должно обрабатывать событие down ключа. Если этот метод не возвращает S_OK или pfEaten получает значение FALSE, приложение должно обработать событие down ключа. Ниже приведен пример реализации этого метода.


if(msg.message == WM_KEYDOWN)
{
    if( pKeyboardMgr->TestKeyDown(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten 
        && pKeyboardMgr->KeyDown(msg.wParam, msg.lParam, &fEaten) == S_OK 
        && fEaten)
    {
        //The key was handled by the keystroke manager or a TSF text service. Do not pass the key to the application. 
        continue;
    }
    else
    {
        //Let the application process the key. 
    }
}

Если диспетчер нажатия клавиш не обрабатывает событие ключа, он передает событие ключа в текстовые службы TSF путем вызова метода службы текста TSF ITfKeyEventSink::OnKeyDown .

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Целевая платформа Windows
Header msctf.h
DLL Msctf.dll
Распространяемые компоненты TSF 1.0 в Windows 2000 Профессиональная

См. также раздел