MFC는 메시지처리를 상당히 편하게 해줍니다.
클래스 위저드를 통해서 메시지가 보내졌을 때 실행되는 함수를 설정할 수 있습니다.
우선 기본적으로 대화상자를 이용하여 버튼을 만들어서 메시지를 처리해 봅시다.
이렇게 '대화 상자 기반'으로만 설정해 주시고 넘어 갑니다.
생성을 하면 이러한 창이 뜹니다.
이때 가운데의 문장과 2개의 버튼을 전부 지웁니다.(연습을 위해서)
그다음
버튼을 오른쪽 마우스 버튼을 클릭하여서 속성으로가서 기타의 ID를 IDC_BUTTON_OK로
모양의 caption를 OK로 바꾸어 줍니다.
그다음 버튼을 더블 클릭하면
코드 편집창이 뜨는데 이중 아래 쪽의 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.이라고 씌여져 있는 함수 메쏘드안에다 MessageBox(_T("버튼을 클릭하였습니다"),_T("알림"),MB_OK);이라는 코드를 입력해 줍니다.
드러면 OK라 써져 있는 버튼을 누를 때 메시지 박스가 나타납니다.
---------------------------------------------------------------------------------
프로그램이 실행되었고, 만약 사용자가 OK라는 버튼을 누르면(이벤트 발생), 윈도우즈는 프로그램에게 이 버튼이 눌렸다는 메시지를 보냅니다. 이 때 버튼이 눌렸을 때 보내는 메시지는 WM_COMMAND라는 메시지입니다. WM_COMMAND 메시지는 어떠한 버튼이 눌렸는지를 알려주기위해서 부가정보와 같이 오는데 버튼을 만들 때 정한 ID로 구분해줍니다.
버튼을 대화상자위에 올리고, ID와 캡션의 정보를 변환한 뒤, 버튼을 더블클릭하는 순간 비주얼 스튜디오는 자동으로 WM_COMMAND가 보내졌을 때 ID가 IDC_BUTTON_OK일 때 실행할 함수를 자동으로 만들어 줍니다.
MessageBox함수는 그대로 메시지 박스를 출력해주는 함수로서
MessageBox(메시지박스안에 출력할 문자열,캡션에 출력할 문자열,기타 메시지박스 설정)
을 받습니다.
댓글 없음:
댓글 쓰기