본문 바로가기
Visual C++(MFC)

MFC03. ClassView 사용법

by 정양섭 2022. 3. 7.

  기본 프로그램 제작에서도 잠깐 설명했듯이 윈도우 시스템은 메시지 방식(메시지 큐를 통하여 전달)을 이용하여 프로그램이 원하는 기능을 수행합니다. 키보드를 누르면 키보드가 눌러 졌다는 메시지(WM_KEYDOWN)가 발생하고 마우스를 움직이면 마우스가 움직였다는 메시지(WM_MOUSEMOVE)가 발생하고..... 프로그램에서는 이 메시지들을 처리해 주면 됩니다. ClassView는 이 메시지로부터 유도되는 함수를 제작해 주는(다른 기능도 많이 있다) 역할을 합니다. 즉 메시지가 발생했을 때 실행될 함수를 생성합니다.
  Classview는 Visual Studio 프로그램의 View 메뉴의 부메뉴 ClassView를 선택하면 다음과 같이 툴바 형태로 나타납니다.

ClassView에서 메시지를 삽입하고자 하는 Class를 선택합니다. 메시지는 대부분 MainFrame또는 View에 삽입합니다. SDI 프로그램에서는 둘 중 어디에 삽입하여도 되나 MDI의 경우 View(View는 Mdi 창에 포함된다)가 있을 때만 실행해야 하는 메시지일 경우에는 View에 그렇지 않은 경우에는 MainFrame에 삽입합니다.
Properties에서 를 선택하면 WM_로 시작하는 메시지들이 표시가 된다. 호출되기를 원하는 메시지의 우측 공간을 더블클릭하면 해당함수가 자동으로 Class에 생성되어 해당 소스로 이동합니다.
메시지들은 차츰 익혀 가기 바라고(이름을 보면 대강 기능을 알 수 있을 것입니다)여기에서 자주 쓰는 메시지들을 대강 정리합니다.
WM_CHAR : 키보드를 눌렀다(WM_KEYDOWN메시지 발생) 떼는 순간(WM_KEYUP 메시지 발생 바로 직전)에 발생하는 메시지로 키보드의 아스키 값을 포함합니다.
WM_CLOSE : 해당 윈도우가 종료되기 직전에 발생합니다.
WM_CREATE : 해당 윈도우가 생성되기 직전에 발생합니다.
WM_DESTROY : 해당 윈도우가 종료될 때 발생합니다.
WM_INITDIALOG : 대화 상자가 생성을 마쳤을 때 발생합니다. 설정한 Class가 대화 상자일 경우만 있고 대화 상자 항목의 초기화는 여기에서 해야만 합니다.
WM_LBUTTONDBLCLK : 마우스 왼쪽 버튼을 더블클릭할 때 발생합니다.
WM_LBUTTONDOWN : 마우스 왼쪽 버튼을 누를 때 발생합니다.
WM_LBUTTONUP : 마우스 왼쪽 버튼을 뗄 때 발생합니다.
WM_MOUSEMOVE : 마우스를 움직일 때 발생합니다.
WM_SIZE : 윈도우의 크기를 변경할 때 발생합니다.
WM_TIMER : 타이머를 설정했을 경우 설정한 발생 주기 마다 발생합니다.
 

'Visual C++(MFC)' 카테고리의 다른 글

MFC06. 대화상자  (0) 2022.03.07
MFC05. RESOURCE  (0) 2022.03.07
MFC04. GUI(Graphic User Interface)  (0) 2022.03.07
MFC02. 기본프로그램 제작  (1) 2022.03.07
MFC01. 프로그래밍에 대하여  (0) 2022.03.07