반응형


 

사용한 라이브러리 출처:

http://www.codeproject.com/Articles/2869/Owner-drawn-menu-with-bitmaps-icons-and-colors

 

 

1.메뉴에 사용할 아이콘 이미지 준비

인터넷에서 32x32 아이콘 이미지를 다운로드 받아서 bmp로 변환 후, 소스 코드가 있는 폴더로 복사해두었다.

https://www.iconfinder.com/iconsets/yooicons_set09_halloween

 

Resource View창에서 마우스 오른쪽 버튼을 클릭하고 나오는 메뉴에서 "Add Resource"를 선택한다. 그리고 나서 위에 있는 파일 네 개를 선택해준다.

 

Resource View의 Bitmap항목에 4개의 비트맵 이미지에 접근할 수 있는 문자열이 추가된다.

 

 

2. menu_testDlg.h에 추가        

codeproject에서 다운로드 받은 파일인 MenuCH.h와 MenuCH.cpp 파일을 프로젝트에 추가해준다. 그리고 프로젝트 파일이름이 menu_test인 경우에 menu_testDlg.h에 아래 헤더파일을 추가했다.

#include "MenuCH.h"

 

그리고 protected멤버로써 아래 변수들을 추가한다.

CMenuCH m_FileMenu, m_EditMenu, m_ViewMenu, m_HelpMenu;

 

 

3. menu_testDlg.cpp 에 추가        

Menu_testDlg.cpp 파일에 아래 한줄을 추가한다.

 

#include "MenuCH.h"

 

그리고 Cmenu_testDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 함수에 아래 내용을 추가하면

 

다이얼로그 타이틀바 밑에 메뉴바가 생긴다.

 

 

Cmenu_testDlg::Cmenu_testDlg(CWnd* pParent /*=NULL*/) 함수에 아래 내용을 추가하면 메뉴바에 하위메뉴 들이 추가된다.

 

4. MenuCH.cpp 파일을 수정

void CMenuCH::DrawXPMenu(LPDRAWITEMSTRUCT lpDIS)에서 다음 세 군데를 수정한다.

메뉴스타일이 MIT_XP인 경우 32x32사이즈 이미지를 사용할 경우로 수정하였다. 다른 경우는 해당 함수를 같은 방식으로 고치면 될듯함.

 

 

5. 실행결과

 




반응형

문제 발생시 지나치지 마시고 댓글 남겨주시면 가능한 빨리 답장드립니다.

도움이 되셨다면 토스아이디로 후원해주세요.
https://toss.me/momo2024


제가 쓴 책도 한번 검토해보세요 ^^

+ Recent posts