컴퓨터 공부/MFC 프로그래밍

[5월 14일 3교시] GDI 2 + 메뉴 1

려리군 2009. 5. 14. 11:44

※ 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) 발생.

 - 메뉴가 뜰 때(나올 때)발생. 

 - 메뉴 상태를 변경할 때 꼭 처리를 해 주어야 한다.