1. 키보드 입력 관련 메시지
WM_CHAR 문자만 전달된다.
WM_KEYDOWN 문자를 포함한 모든 키가 가상 키코드로 전달된다.
WM_SYSKEYDOWN 시스템 키보드 메시지는 Alt 키와 함께 눌러지는 키보드 메시지들이며 잘 사용되지 않는다.
WM_SYSKEYUP 만일 사용하게 될 경우 DefWindowProc로 넘겨줘야 한다.
WM_SYSCHAR 그렇지 않으면 Alt 키와 함께 동작하는 모든 키보드 조합이 먹통이 되어버린다.
WM_DEADCHAR 유럽의 악센트 문자와 움라우트(결합) 문자 입력을 위한 메시지이다.
WM_SYSDEADCHAR
2. 자주 사용되는 키보드 입력 메시지별 파라미터 정의
WM_CHAR.wParam = 입력된 문자의 아스키 코드 값이 전달된다.
WM_CHAR.lParam = 비트별로 복잡한 정보가 전달되는데 잘 사용되지 않으므로 필요한 경우 따로 찾아볼 것을 권유한다.
WM_KEYDOWN.wParam = 입력된 키의 가상 키코드 값이 전달된다. 문자 및 숫자는 아스키 코드값과 같다.
WM_KEYDOWN.lParam = WM_CHAR.lParam과 동일하나 역시 잘 사용되지 않는다.
BOOL TranslateMessage(MSG &lpMsg)
- 키를 입력받았을 경우 문자키 입력 메시지인 WM_CHAR를 만들어내기 위해 존재한다.
- 만약 WM_CHAR 메시지를 받을 필요가 없는 프로그램이라면 메시지 루프에서 생략해도 된다.
포커스를 가진 컨트롤만이 키보드 입력 메시지를 전달받을 수 있다.
'관심 분야 > Windows API' 카테고리의 다른 글
[WinAPI] 무효 영역 (0) | 2022.10.08 |
---|---|
[WinAPI] WinAPI 기본 코드 (0) | 2022.10.07 |