開発メモ

“ニア”は指差しカーソルを表しているんだぜ?

☆☆☆☆☆☆
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;

まそ感。