삽이 부서질 때까지 삽질

[MFC] 메뉴 명령 처리 본문

MFC

[MFC] 메뉴 명령 처리

xinfo 2016. 12. 2. 08:54

메뉴를 생성을 알아봤으니 이제 해당 명령어를 처리하는 것에 대해서 공부해볼게요.



기존 메뉴에 list 라는 최상위 메뉴를 추가한 뒤 아래는 폰트 1, 2, 3 을 추가하고 ID는 ID_LIST1 ,2, 3 을 할당했어요.


그리고 폰트에 색을 주는 간단한걸 구현할거라 CChildView.h 에 COLOREF 변수를 추가할게요. 그리고 생성자에서는 색을 초기화 합니다.



메뉴에 이벤트를 할당할건데 이건 클래스 뷰에서 CChildView 에 오른쪽 클릭을 한 뒤 속성을 들어갑니다.

그리고 이벤트 창(번개모양)을 클릭하시면 추가된 ID를 볼 수 있습니다.


여기서 우리가 추가한 ID_LIST 1 ~ 3 을 +를 눌러 확장하시고 커멘드를 눌러 추가하기를 누르시면 자동으로 ChildView.cpp 에 명령 핸들러가 추가가 됩니다.

해당 메뉴를 클릭하면 색을 바꿀 수 있게 코드를 추가하고, 뷰를 다시 호출하기 위해 OnPaint 함수로 돌아가는 Invalidate를 호출하시면 됩니다.


이제 메뉴를 클릭하면 뷰가 변하게 OnPaint를 수정하 해보자.


제작한 메뉴를 클릭해보시면 변하는 걸 볼 수 있습니다.

Comments