共用方式為


CWnd::OnSysKeyDown

如果 CWnd 物件擁有輸入焦點, OnSysKeyDown 成員函式由架構呼叫,而按住 ALT 鍵然後按另一個按鍵時。

afx_msg void OnSysKeyDown(
   UINT nChar,
   UINT nRepCnt,
   UINT nFlags 
);

參數

  • nChar
    指定按下的按鍵的虛擬按鍵碼。 如需標準虛擬按鍵碼的清單,請參閱 Winuser.h

  • nRepCnt
    指定迴圈計數。

  • nFlags
    如下列清單所示,指定掃描碼、金鑰轉換程式碼、前一個主要的狀態和內容,程式碼:

    意義

    0–7

    掃描碼 (OEM 相依值)。 低位元組的高序位文字。

    8

    擴充的按鍵,例如一個功能鍵或金鑰數字鍵台上 (1,如果是一個擴充按鍵,則為 0)。

    9–10

    不適用。

    11–12

    在內部使用以視窗。

    13

    內容的程式碼 (1,如果按住 ALT 鍵,且按下按鍵時,則為 0)。

    14

    前一個主要狀態 (1,如果按鍵為已按下,在傳送訊息之前,為 0,如果按鍵引發)。

    15

    轉換狀態 (1,如果放開按鍵,則為 0,如果按下的按鍵)。

    如需 OnSysKeyDown 呼叫,索引鍵轉換位元 (位元 15) 為 0。 內容程式碼位元 (位元 13) 為 1,如果按下 ALT 鍵,且按下按鍵時,它是 0,如果訊息傳送至使用中視窗,因為 Windows 沒有輸入焦點。

備註

如果視窗目前沒有輸入焦點,使用中視窗的 OnSysKeyDown 呼叫成員函式。 接收訊息的 CWnd 物件可以區別這兩種內容之間會藉由檢查 nFlags內容的程式碼。

當內容程式碼為 0 時, OnSysKeyDown 接收的 WM_SYSKEYDOWN 訊息可以傳遞至 TranslateAccelerator Windows 函式,處理它,就如同一般按鍵訊息而不是系統按鍵訊息。 這可讓快速鍵搭配使用中視窗,即使使用中視窗沒有輸入焦點。

因為自動迴圈,在這種情況下, WM_SYSKEYUP 接收訊息之前,會有超過一個 OnSysKeyDown 呼叫可能會發生。 前一個按鍵狀態 (位元 14) 可以用來判斷 OnSysKeyDown 呼叫是否表示第一個來源轉換或重複在轉換中。

如需增強 IBM - 101,而 102 鍵盤按鍵,增強金鑰是正確的 ALT 和右側的 CTRL 鍵鍵盤的主要部分,在叢集上按下 INS、DEL、HOME、結果、頁面,網站的頁面和方向鍵數字鍵台上左邊,和斜線 (/) 和在數字鍵台的按鍵輸入。 在 nFlags可能支援擴充位元金鑰的其他鍵盤。

注意事項注意事項

此成員函式由架構呼叫可以讓您的應用程式處理 Windows 訊息。接收訊息時,參數會傳遞至函式反映這個框架接收的參數。如果您呼叫這個函式的基底類別實作,該實作會使用這個參數起始傳入訊息所提供函式取代的參數。

需求

Header: afxwin.h

請參閱

參考

CWnd 類別

階層架構圖

TranslateAccelerator

CWnd::OnSysKeyUp

WM_SYSKEYDOWN