[5월 14일 3교시] GDI 2 + 메뉴 1
※ CMainFrame의 멤버 변수(public) 사용하는 방법
1. #include "MainFrm.h"를 stdafx.h에 추가.
2. CMainFrame에 public:CString m_strName; 형식으로 추가한다.
3. CMainFrame 생성자에 m_strName값을 초기화한다.
4. 다른 클래스에서 ((CMainFrame*)AfxGetMainWnd())의 -> 연산자를 이용하여 사용 가능.
※ MFC에서 MainFrame에 대한 메뉴는 IDR_MAINFRAME에 정의되어있다.
context menu = popup menu
메뉴가 여러 종류라면 ①각 메뉴 리소스를 따로 만들어 호출할 수도 있고
②각 서브 메뉴마다 번호를 index를 붙여 호출할 수도 있다.
메뉴 초기화 부분
- 색칠한 부분이 메뉴 아이디
pDocTemplate = new CSingleDocTemplate(
IDR_MAINFRAME,
RUNTIME_CLASS(CMyDoc),
RUNTIME_CLASS(CMainFrame), // 주 SDI 프레임 창입니다.
RUNTIME_CLASS(CMyView));
CMenu 객체를 이용하여 메뉴를 추가하고 지울 수 있다.
메뉴 이벤트
WM_COMMAND : 메뉴 아이템을 선택하고 실행할 때 발생.
WM_UPDATE_COMMAND_UI
- 메뉴 아이템의 상태를 변경할 때(Gray, Check, Radio) 발생.
- 메뉴가 뜰 때(나올 때)발생.
- 메뉴 상태를 변경할 때 꼭 처리를 해 주어야 한다.