Programming Language/Windows API

keyboard[2]

D4tai1 2018. 8. 27.

1. 키보드에서 입력받은 값 1개 출력

void myInput(HDC hdc, WPARAM wParam) {
	TCHAR str[100];

	str[0] = wParam;
	//입력받은 값을 str[0]에 저장

	str[1] = NULL;
	//문자열의 마지막을 나타내는 NULL

	TextOut(hdc, 0, 0, str, _tcslen(str));
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	PAINTSTRUCT ps;
	HDC hdc;

    switch (message)
    {
    case WM_COMMAND:
        {
            int wmId = LOWORD(wParam);
            // 메뉴 선택을 구문 분석합니다.
            switch (wmId)
            {
            case IDM_ABOUT:
                DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);
                break;
            case IDM_EXIT:
                DestroyWindow(hWnd);
                break;
            default:
                return DefWindowProc(hWnd, message, wParam, lParam);
            }
        }
        break;

	case WM_CHAR:
	{
		hdc = GetDC(hWnd);
		
		myInput(hdc, wParam);

		ReleaseDC(hWnd, hdc);
	}
	break;

    case WM_PAINT:
        {
			hdc = BeginPaint(hWnd, &ps);

            EndPaint(hWnd, &ps);
        }
        break;
    case WM_DESTROY:
        PostQuitMessage(0);
        break;
    default:
        return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}

1) WPARAM wParam

- WPARAM 타입의 wParam은 키보드에서 입력받은 값을 저장하고 있는 변수이다.

 

+) 특이사항

 - 입력 시 하나의 키가 출력되고 다시 입력 시 덮어쓰여진다.

 

 

'Programming Language > Windows API' 카테고리의 다른 글

keyboard[4]  (0) 2018.08.27
keyboard[3]  (0) 2018.08.27
keyboard[1]  (0) 2018.08.27
키보드 메세지 처리  (0) 2018.08.26
TextOut(), DrawText()  (0) 2018.08.26

댓글