[MFC] 이벤트 - 메시지 - 핸들러 함수
MFC를 하기 위해선 기본적으로 이벤트 - 메시지 - 핸들러 함수 관계를 이해해야 한다.
1. 이벤트
MFC 프로그램과 사용자는 끊임없이 상호작용을 한다. 사용자는 MFC 프로그램에서 마우스를 클릭하거나, 키보드를 통해 문자를 입력하는 등의 일련의 활동을 하는데 이러한 활동을 통해 이벤트라고 한다. 이벤트를 통해 사용자는 MFC 프로그램과 상호작용을 할 수 있는 것이다.
2. 메시지
이벤트가 발생하면, MFC 프로그램은 이를 메시지로 변환한다. 예를 들어서, 마우스를 움직일 때 마다, MFC 프로그램에서는 이벤트가 발생하고, 이 이벤트에 상응하는 "WM_MOUSEMOVE"라는 메시지가 발생한다.
이러한 메시지를 관리는 "클래스 마법사"에서 수행한다. 클래스 마법사는 그림 1과 같이 "1. 리소스 뷰 -> 2. 원하는 Dialog 선택 -> 3. 클래스 마법사" 를 클릭하면 된다. (프로젝트 생성 시 대화상자기반 (Dialog) 기준)
그러면, 그림 2와 같이 MFC의 모든 메시지를 관리할 수 있는 클래스 마법사를 나타낸다. 예를 들어서, 클래스 마법사에서 mouse 관련 메시지를 보면, "WM_MOUSEMOVE" 를 확인할 수 있다.
3. 핸들러 함수
사용자가 마우스를 움직이면, 이에 상응하는 메시지가 발생했다. 이 메시지를 가지고 MFC 프로그램이 동작하려면 어떻게 해야할까? 바로 핸들러 함수를 통해 발생한 메시지를 처리할 수 있다. 핸들러 함수를 등록하는 방법은 그림 3와 같이 클래스 마법사에서 등록한다.
등록하고 나면, 그림 4과 같이 핸들러 함수가 코드로 추가된다. 여기에 사용자가 원하는 동작을 코딩하면 된다.
'공부 > MFC' 카테고리의 다른 글
[MFC] 시간 측정 하기 (0) | 2021.06.06 |
---|---|
[MFC] Listbox Control에 현재시간 띄우기 (0) | 2021.06.05 |
[MFC] 유용한 팁 정리 (CString, Parent <->Child dialog) (작업중) (0) | 2021.05.24 |
[MFC] 쓰레드 동기화 개념 정리 (작업중) (0) | 2021.05.20 |
[MFC] Radio Control 사용법 (0) | 2021.05.09 |