본문 바로가기
New/MFC 윈도우 프로그래밍

3. 메시지 처리 (3)

by onenewkong 2024. 12. 14.

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