'Feature pack'에 해당되는 글 3건

  1. 2011.07.13 [MFC Feature Pack] Context 및 팝업 메뉴의 생성.
이전 버전의 MFC에서도 Context 및 팝업 메뉴의 구현을 지원했었고 실제로 많이 활용되기도 하였으나 이번 Feature Pack에서는 이전버전의 메뉴 형태가 아닌 좀 더 개선된 디자인 형태의 메뉴생성을 지원합니다.


1. Visual Studio의 리소스 뷰에서 팝업 및 Context 메뉴로 나타낼 형태의 메뉴를 편집합니다.
 

2.  프로젝트의 App 클래스에서 재정의 된 PreLoadState() 메소드를 찾아서 Context Menu Manager에 리소스뷰에서 편집한 메뉴를 추가합니다.

void CDigitalWeatherChartApp::PreLoadState()

{

......
 

GetContextMenuManager()->AddMenu(_T(""), IDR_MENU_DROP);

}

 
PreLoadState() 메소드는 프레임웤이 응용프로그램을 로드하기전 처리할 작업들을 기술하는 메소드이며 CWinAppEx 클래스에서 상속받아 재정의합니다. 
IDR_MENU_TEST는 리소스뷰에서 편집한 메뉴의 리소스 ID 입니다.

3. 편집한 메뉴가 표출되어야 할 위치에 다음과 같이 작성합니다.

CPoint point;

GetCursorPos(&point);

theApp.GetContextMenuManager()->ShowPopupMenu(IDR_MENU_DROP, point.x, point.y, this, TRUE);


theApp는 App클래스 객체를 나타내는 전역 변수이며 위 코드는 사용자의 마우스 위치에 메뉴를 팝업시키는 코드입니다. 
 
4. 위의 단계를 거쳐 메뉴를 구성하면 아래 그림의 오른쪽과 같은 디자인의 메뉴를 팝업시킬 수 있습니다. 




Posted by 루시엔시엘

댓글을 달아 주세요