onchar

基本介紹

  • 中文名:章
  • 外文名:KO
  • 職業:國小
函式原型:
CWnd::OnCharafx_msg void OnChar( UINT nChar, UINT nRepCnt, UINT nFlags );
afx_msg沒有具體含義。只是為了方便系統找到訊息映射函式。
參數意義:define UINT unsigned int 無符號整數
UINT nChar:鍵盤的字元碼值。
UINT nRepCnt 擊鍵的次數
nFlags 包含掃描碼,轉換碼等。
意義如下圖所示:
Value
Meaning
0-15
Specifies the repeat count. The value is the number of times the keystroke is repeated as a result of the user holding down the key.
16-23
Specifies the scan code. The value depends on the original equipment manufacturer (OEM)
24
Specifies whether the key is an extended key, such as the right-hand ALT and CTRL keys that appear on an enhanced 101- or 102-key keyboard. The value is 1 if it is an extended key; otherwise, it is 0.
25-28
Used internally by Windows.
29
Specifies the context code. The value is 1 if the ALT key is held down while the key is pressed; otherwise, the value is 0.
30
Specifies the previous key state. The value is 1 if the key is down before the message is sent, or it is 0 if the key is up.
31
Specifies the transition state. The value is 1 if the key is being released, or it is 0 if the key is being pressed.
參數: (中文)
nChar 包含了鍵的字元代碼值。 nRepCnt 包含了重複計數,當用戶按下鍵時重複的擊鍵數目。 nFlags 包含了掃描碼,鍵暫態碼,以前的鍵狀態以及上下文代碼,如下面的列表所示:

含義
0--15
指定了重複計數。其值是用戶按下鍵時重複的擊鍵數目
16--23
指定了掃描碼。其值依賴於原始設備製造商(OEM)
24
指明該鍵是否是擴展鍵,如增強的101或102鍵盤上右邊的ALT或CTRL鍵如果它是個擴展鍵,則該值為1;否則,值為0
25--28
Windows內部使用
29
指定了上下文代碼。如果按鍵時ALT鍵是按下的,則該值為1;否則,值為0
30
指定了以前的鍵狀態。如果在傳送訊息前鍵是按下的,則值為1;如果鍵是彈起的,則值為0
31
指定了鍵的暫態。如果該鍵正被放開,則值為1,如果鍵正被按下,則該值為0
說明:
當擊鍵被轉換為非系統字元時,框架調用這個成員函式。這個函式是在OnKeyUp成員函式之前,OnKeyDown成員之後調用的。OnChar包含了被按下或放開的鍵值。
由於按鍵和產生的OnChar調用不必是一一對應的,因此nFlags中的信息對應用程式通常是沒有用的。NFlags中的信息僅對最近在OnChar之前調用的OnKeyUp成員函式或OnKeyDown成員函式有用。
對於IBM增強型101和102鍵鍵盤,鍵盤的主體部分的增強鍵是右邊的ALT和CTRL鍵;還有數字鍵盤左側的INS,DEL,HOME,END,PAGE UP,PAGE DOWN以及箭頭鍵等;以及數字鍵盤上的斜槓(/)和ENTER鍵。其它鍵盤可能會支持nFlags中的擴展鍵位。
注意:
框架調用這個成員函式以允許你的應用程式處理一個Windows訊息。傳遞給你的成員函式的參數反映了接收到訊息時框架接收到的參數。如果你調用了這個函式的基類實現,則該實現將使用最初傳遞給訊息的參數(而不是你提供給這個函式的參數)。
請參閱:WM_CHAR, WM_KEYDOWN, WM_KEYUP

相關詞條

熱門詞條

聯絡我們