Bagikan melalui


Metode ITfKeystrokeMgr::TestKeyDown (msctf.h)

Menentukan apakah manajer penekanan tombol akan menangani peristiwa kunci tidak berfungsi.

Sintaks

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

Parameter

[in] wParam

Menentukan kode kunci virtual kunci. Untuk informasi selengkapnya tentang parameter ini, lihat parameter wParam di WM_KEYDOWN.

[in] lParam

Menentukan jumlah berulang, kode pemindaian, bendera extended-key, kode konteks, bendera status kunci sebelumnya, dan bendera status transisi kunci. Untuk informasi selengkapnya tentang parameter ini, lihat parameter lParam di WM_KEYDOWN.

[out] pfEaten

Penunjuk ke BOOL yang menunjukkan apakah peristiwa kunci akan ditangani. Jika nilai ini menerima TRUE, peristiwa kunci akan ditangani dan peristiwa tidak boleh diteruskan ke aplikasi. Jika nilai ini FALSE, peristiwa kunci tidak akan ditangani dan peristiwa harus diteruskan ke aplikasi.

Mengembalikan nilai

Metode ini dapat mengembalikan salah satu nilai ini.

Nilai Deskripsi
S_OK
Metode berhasil.
S_FALSE
Tidak ada sink peristiwa utama yang terinstal.
E_INVALIDARG
Satu atau beberapa parameter tidak valid.

Keterangan

Aplikasi dapat menentukan apakah peristiwa kunci akan ditangani oleh manajer keystroke dengan metode ini. Jika metode ini berhasil dan pfEaten menerima TRUE, aplikasi harus memanggil ITfKeystrokeMgr::KeyDown. Jika metode ini tidak mengembalikan S_OK atau pfEaten menerima FALSE, aplikasi tidak boleh memanggil ITfKeystrokeMgr::KeyDown . Berikut ini adalah contoh bagaimana hal ini diimplementasikan.


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

Jika manajer keystroke tidak menangani peristiwa kunci, itu meneruskan peristiwa kunci ke layanan teks TSF dengan memanggil layanan teks metode ITfKeyEventSink::OnTestKeyDown .

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header msctf.h
DLL Msctf.dll
Redistribusi TSF 1.0 di Windows 2000 Professional

Lihat juga