iTfKeystrokeMgr::KeyDown 方法 (msctf.h)
將按鍵向下事件傳遞至按鍵管理員。
語法
HRESULT KeyDown(
[in] WPARAM wParam,
[in] LPARAM lParam,
[out] BOOL *pfEaten
);
參數
[in] wParam
指定金鑰的虛擬金鑰代碼。 如需此參數的詳細資訊,請參閱WM_KEYDOWN中的wParam參數。
[in] lParam
指定索引鍵的重複計數、掃描程式碼、擴充金鑰旗標、內容程式碼、先前的索引鍵狀態旗標,以及金鑰的轉換狀態旗標。 如需此參數的詳細資訊,請參閱WM_KEYDOWN中的lParam參數。
[out] pfEaten
在結束時,BOOL 的指標會指出是否已處理索引鍵事件。 如果此值收到 TRUE,則會處理索引鍵事件,而且不應該將事件轉送至應用程式。 如果此值為 FALSE,則未處理索引鍵事件,而且事件應轉送至應用程式。
傳回值
這個方法可以傳回下列其中一個值。
值 | 描述 |
---|---|
|
此方法成功。 |
|
未安裝任何金鑰事件接收。 |
|
一或多個參數無效。 |
備註
如果這個方法成功且 pf一 收到 TRUE,則應用程式不應該處理按鍵關閉事件。 如果這個方法未傳回S_OK或 pf一 收到 FALSE,應用程式應該處理按鍵關閉事件。 以下是如何實作此作業的範例。
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 文字服務 ITfKeyEventSink::OnKeyDown 方法,將金鑰事件傳遞至 TSF 文字服務。
需求
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | msctf.h |
Dll | Msctf.dll |
可轉散發套件 | Windows 2000 專業版上的 TSF 1.0 |