WM_CHAR

WM_CHARは、文字が入力されたときに発生するウィンドウメッセージ・・・。

WM_CHAR message (Windows)

キーボードによってキーが押された時、WM_KEYDOWNが発生・・・。
前回やったTranslateMessageによって、仮想キーメッセージは文字メッセージに変換され、WM_CHARが発生・・・。
このメッセージで入力した文字が伝えられる・・・。

wParamに入力された文字、lParamには詳しいキーの情報が渡されるが、今回は入力された文字だけ表示する・・・。

WM_CHARが来たとき、wParamに入力文字が入っているので、TCHAR文字配列tszCharsの1つ目にそれを入れる・・・。
(2つ目は"TCHAR tszChars[2] = {0};"で初期化時にNULLパディングしているから大丈夫・・・。)
あとは、そのtszCharsをTextOutで表示するだけ・・・。

WM_KEYUPの部分は変わらない・・・。
キーが離れたら矩形で隠す・・・。

実行すると、

f:id:BG1:20150413103439p:plain

何もないウィンドウ・・・。
半角状態で"a"を入力、

f:id:BG1:20150413103537p:plain

"a"が表示される・・・。
離すと、

f:id:BG1:20150413103640p:plain

矩形で隠される・・・。
Unicode文字セットでビルドしていれば、全角文字もいける・・・。
全角にして、"あ"を入力すると、

f:id:BG1:20150413103829p:plain

"あ"が表示された・・・。

Sample/WM_CHAR.cpp at master · bg1bgst333/Sample · GitHub