開発メモ
“ニア”は指差しカーソルを表しているんだぜ?
☆☆☆☆☆☆
Windowsの非コンソールアプリでDOSっぽくgetch()を使うようなプログラムのつくりかた。
まあ作ろうと思うような人には既にわかりきったことかもだけど‥‥。
getch()に相当するモノ。変数keypressを見つつメッセージループ。
int inkey() { MSG lpMsg; int ch = 0; while (!ch) { if (keypress) { ch = keypress; keypress = 0; break; } if (GetMessage(&lpMsg, NULL, 0, 0)) { TranslateMessage(&lpMsg); DispatchMessage(&lpMsg); } } return ch; }
いわゆるWndProc()でキー押下のメッセージをkeypressに拾う。keypressはキューにしたほうが確実的?
カーソルキーを拾ったりをテキトーに。「ESCAPE」は'\033'。
case WM_KEYDOWN: switch(wParam) { case VK_LEFT: keypress = '4'; break; case VK_RIGHT: keypress = '6'; break; case VK_UP: keypress = '8'; break; case VK_DOWN: keypress = '2'; break; case VK_ESCAPE: keypress = ESCAPE; break; } break; case WM_CHAR: keypress = wParam; break;
まそ感。