キー入力イベントを横取りする
BOOL CCOMM_SIMView::PreTranslateMessage(MSG* pMsg) { // TODO: この位置に固有の処理を追加するか、または基本クラスを呼び出してください
if(pMsg->message == WM_KEYDOWN) { if( pMsg->wParam == 0x31 ) // 1がクリックされた場合 { SimErrMsg( "%x : %x", 0, pMsg->wParam, pMsg->lParam ); return( TRUE ); // 以降の処理で1キーのダウンを処理しない } }
return CFormView::PreTranslateMessage(pMsg); }クラスウィザードからViewクラスにPreTranslateMessageを追加します。
Key wParam lParam 1 31 20001 2 32 30001 3 33 40001 4 34 50001 5 35 60001 6 36 70001 7 37 80001 8 38 90001 9 39 a0001 - bd c0001 ^ de 280001 \ dc 2b0001 q 51 100001 w 57 110001 e 45 120001 r 52 130001 t 54 140001 y 59 150001 u 55 160001 i 49 170001 o 4f 180001 p 50 190001 @ c0 290001 [ db 1a0001 a 41 1e0001 s 53 1f0001 d 44 200001 f 46 210001 g 47 220001 h 48 230001 j 4a 240001 k 4b 250001 l 4c 260001 ; bb d0001 : ba 270001 ] dd 1b0001 z 5a 2c0001 x 58 2d0001 c 43 2e0001 v 56 2f0001 b 42 300001 n 4e 310001 m 4d 320001 , bc 330001 . be 340001 / bf 350001 (_) df 550001 [ESC] 1b 10001 [TAB] 9 f0001 [CTRL-L] 11 1d0001 [CAPS] 14 3a0001 [SHIFT-L] 10 2a0001 [かな] 15 11d0001 [WIN-L] 5b 15b0001 [GRPH] 検出不可 [NFER] 1d 5a0001 [SPACE] 20 390001 [BS] 8 e0001 [RET] d 1c0001 [SHIFT-R] 10 360001 [XFER] 1c 1380001 [WIN-R] 5c 15c0001 [???] 5d 15d0001 [INS] 2d 1520001 [DEL] 2e 1530001 [ROLLUP] 22 1510001 [ROLLDN] 21 1490001 [↑] 26 1480001 [←] 25 14b0001 [→] 27 14d0001 [↓] 28 1500001 [HOMECLR] 24 1470001 [HELP] 23 14f0001 [-] 6d 4a0001 [/] 6f 1350001 [*] 6a 370001 [+] 6b 4e0001 [=] 92 590001 [RET] d 1c0001 [7] 67 470001 [8] 68 480001 [9] 69 490001 [4] 64 4b0001 [5] 65 4c0001 [6] 66 4d0001 [1] 61 4f0001 [2] 62 500001 [3] 63 510001 [0] 60 520001 [,] 6c 5c0001 [.] 6e 530001 [STOP] 検出不可 [COPY] 検出不可 [F1] 70 3b0001 [F2] 71 3c0001 [F3] 72 3d0001 [F4] 73 3e0001 [F5] 74 3f0001 [F6] 75 400001 [F7] 76 410001 [F8] 77 420001 [F9] 78 430001 [F10] 検出不可(ALTと同様の動き) [VF1] 7a 570001 [VF2] 7b 580001 [VF3] 7c 5d0001 [VF4] 7d 5e0001 [VF5] 7e 5f0001