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


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

Определяет, будет ли диспетчер нажатия клавиш обрабатывать событие key up.

Синтаксис

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

Параметры

[in] wParam

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

[in] lParam

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

[out] pfEaten

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

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

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

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

Комментарии

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


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

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

Требования

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

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