VC自定义菜单资源

1.首先建立菜单资源; 2.用这个菜单类已经是别人实现的,定义一个CMyCoolMenu类对象m_mnu,在CMainFrame类中int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)调用m_mnu.AttachMenu(GetMenu()->GetSafeHmenu(),IDR_MENU1,CSize(16,15))方法关联菜单与菜单资源 3.在CMainFrame类的头文件中的宏定义之间加两个函数 protected: //{{AFX_MSG(CMainFrame) afx_msg void OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct); afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct); // NOTE - the ClassWizard will add and remove member functions here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG 4.在CMainFrame类的实现文件中的消息映射部分添加映射宏 BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd) //{{AFX_MSG_MAP(CMainFrame) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code ! ON_WM_CREATE() ON_WM_DRAWITEM() ON_WM_MEASUREITEM() //}}AFX_MSG_MAP END_MESSAGE_MAP() 4.在CMainFrame类的实现文件中改写主窗口的“OnDrawItem”方法、“OnMeasureItem”方法。 void CMainFrame::OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpDrawItemStruct) { m_mnu.DrawItem(lpDrawItemStruct); } void CMainFrame::OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct) { m_mnu.MeasureItem(lpMeasureItemStruct); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值