3.4 키보드 메시지 (Keyboard Message)
자주 사용하는 키보드 메시지와 메시지 핸들러 함수
메시지 유형 | 발생 상황 | 메시지 핸들러 함수 |
WM_KEYDOWN | 키를 눌렀을 때 | OnKeyDown() |
WM_KEYUP | 키에서 손을 뗐을 때 | OnKeyUp() |
WM_CHAR | 화면에 문자가 표시되는 키를 누름 | OnKeyChar() |
WM_SYSKEYDOWN | 시스템 키(Alt, F10)를 눌렀을 때 | OnSysKeyDown() |
WM_SYSKEYUP | 시스템 키를 똈을 때 | OnSysKeyUp() |
WM_SYSCHAR | 시스템 키와 문자키를 같이 누름 | OnSysChar() |
- WM_CHAR 메시지는 키보드가 눌러짐에 따라 문자가 입력되는 것
- 문자가 입력된 사건에 의해 WM_CHAR 메시지가 발생
- WM_CHAR 메시지는 WM_KEYDOWN 메시지가 발생한 후 추가로 발생하는 메시지
- WM_CHAR 메시지 다음에 WM_KEYUP 메시지 발생
- 윈도우 애플리케이션에서 Alt, F10 키를 누르면 메인 메뉴로 포커스 이동하므로 Alt, F10 키를 시스템 키로 분류함
- 사용자가 시스템 키와 조합된 키를 입력하면 WM_KEYDOWN과 WM_KEYUP 메시지가 발생하지 않고 WM_SYSKEYDOWN과 WM_SYSKEYUP 메시지가 발생함
- 키보드의 메시지 핸들러 함수들을 살펴보면 다음 세 가지의 인수를 전달 받음
- nChar: 눌러진 키의 가상키 코드, WM_CHAR나 WM_SYSCHAR에서 메시지의 경우에는 눌러진 키의 문자코드 값
- nRepCount: 키를 계속 누르고 있을 때 반복된 키의 입력 횟수가 전달됨
- nFlags: 스캔 코드, 이전 키 상태, 키가 눌러질 때의 Alt 키의 상태에 대한 정보가 전달됨
실습
'New > MFC 윈도우 프로그래밍' 카테고리의 다른 글
4. 대화상자 (2) (1) | 2024.12.15 |
---|---|
4. 대화상자 (1) (0) | 2024.12.15 |
3. 메시지 처리 (2) (0) | 2024.12.11 |
3. 메시지 처리 (1) (0) | 2024.12.08 |
2. MFC 개요 및 아키텍처 (2) (0) | 2024.12.07 |