Tech/Win32 API

입력 1. 키보드

2016. 11. 16. 01:03

키보드 입력시에 메시지가 WM_KEYDOWN, WM_CHAR, WM_KEYUP 순으로 발생한다


1. WM_KEYDOWN

키보드 입력시 처음으로 발생하며, 문자 이외의 키(fn, Ins, 방향키등)를 처리할 때 주로 사용한다.  

wParam으로 문자 코드가 아닌 가상 코드(키보드의 종류의 상관없이 키를 입력받기 위해 만들어진 코드 값)가 들어온다. 


2. WM_CHAR

사용자에 의해서 발생하는 메시지가 아닌 TranslateMessage() 함수에 의해서 만들어진 메시지이다.

TranslateMessage() 함수는 전달된 메시지가 WM_KEYDOWN인지와 문자 키인지 검사하여 조건을 충족하면 WM_CHAR 메시지를 만들어서 메시지 큐에 넣어준다.


- lParam : Alt와 같은 특수 키

- wParam : 문자 아스키 코드값


3. WM_KEYUP

키를 땔 때 발생하는 메시지이다.

'Tech > Win32 API' 카테고리의 다른 글

무효 영역(Invalid Region)  (0) 2016.11.15
DC(Device Context)  (0) 2016.11.13