키보드 입력시에 메시지가 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 |