您的位置:逆风者 VC++ 正文
 添加时间:2007-09-01 原文发表:2007-08-31 人气:147 来源:vckbase.com

本文章共7979字,分5页,当前第4页,快速翻页:
 
IDB_SMALLMENUHOT IDB_SMALLMENUDISABLE 当然,要通过资源编辑器的Import功能将他们导入到资源文件中,不过因为是真彩,所以不能用VC的图片编辑器编辑了。 告诉大家个敲门,我是用windows自带的画笔画的:)
*/

/////////////////////////////////////////////////////////////////////////////

// 在ManiFram.cpp 中添加初始化菜单图像列表程序

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)

{

	// 在CMainFrame::OnCreate中调用菜单图标初始化程序

	。。。。。。

		

		InitMenuImage();

	

	。。。。。。

}



/////////////////////////////////////////////////////////////////////////////

HMENU CMainFrame::InitMainFrameMenu()

{	

	//初始化主菜单	

	m_menuMainFrame.LoadMenu(IDR_MAINFRAME);

	

	{

		// 这只加载图像的一种方法,是一种两步方法,先加载图像列表

		m_menuMainFrame.SetImageList(&m_imageMenu);

		m_menuMainFrame.SetDisabledImageList(&m_imageMenuDisable);

		m_menuMainFrame.SetHotImageList(&m_imageMenuHot);

		

		// 再通过菜单图像索引表为菜单加载图像索引,

		m_menuMainFrame.SetImageIndex(nMenuImageIndex,

                                    sizeof(nMenuImageIndex)/sizeof(UINT));	

	}

	

	// 也可以使用另外一种一步方法加载图像

	/*

	// 假设MAINFRAM具有m_wndToolBar成员,并且已经设置了真彩位图

	// 关于设置工具栏的真彩位图,请参考 http://www.vckbase.com/document/viewdoc/?id=576

	// 或者看我的另外一篇文章 《完美实现真彩工具栏》(还没写出来那:))

         // 不过源程序里面已经有实现方法了

	// 自己看也可以明白的

	m_menuMainFrame.LoadToolBar(&m_wndToolBar);	

	*/

	

	return m_menuMainFrame.Detach();

}

/////////////////////////////////////////////////////////////////////////////

HMENU CMainFrame::InitImageTypeMenu()

{		

	// 初始化文档模板菜单

	

	m_menuImageType.LoadMenu(IDR_IMAGETYPE);

	

	m_menuImageType.SetImageList(&m_imageMenu);

	m_menuImageType.SetDisabledImageList(&m_imageMenuDisable);

	m_menuImageType.SetHotImageList(&m_imageMenuHot);

	//通过菜单图像索引表为菜单加载图像索引

	m_menuImageType.SetImageIndex(nMenuImageIndex,sizeof(nMenuImageIndex)/sizeof(UINT));

	

	return m_menuImageType.Detach();

}

/////////////////////////////////////////////////////////////////////////////

void CMainFrame::OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu) 

{	

	// 记住,顺序一定不能反,因为有些MFC自动添加的菜单是在CMDIFrameWnd::OnInitMenuPopup()

         // 中添加的.

	// 如果反了,当然就找不到新加入的菜单了

	CMDIFrameWnd::OnInitMenuPopup(pPopupMenu, nIndex, bSysMenu);

	// 静态函数,看好了,别忘了写CMenuEx啊	

	CMenuEx::InitPopupMenu(pPopupMenu, nIndex, bSysMenu);	

}

/////////////////////////////////////////////////////////////////////////////



void CMainFrame::OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct) 

{

	// 都是她惹的祸"CMDIFrameWnd::OnMeasureItem()",不对子菜单项的尺寸进行测量

	// 害的我们只好映射这个函数了		

	CMDIFrameWnd::OnMeasureItem(nIDCtl, lpMeasureItemStruct);

	// 静态函数,看好了,别忘了写CMenuEx啊

	CMenuEx::MeasureItem(lpMeasureItemStruct);

}
 
本文章更多内容<<上一页 - 1 - 2 - 3 - 4 - 5 - 下一页>>
相关文章

控件如何传递自定义struct
文件系统识别器
用 ATL ActiveX 绘制任意平面函数的曲线
软件框架的利器、TangramMini组件应用教程四
如何让一个打开的文档成为活动文档
消息值,托管字符串,扰乱代码及其它
修改一个完全颜色的CListCtrl类
编程之道
更新MFC中的视图,跟踪.NET Framework中的事
常用编码详解
VC 6.0 中如何使用 CRT 调试功能来检测内
软件开发专业相关的英文简历及其资源
定制调试诊断工具和实用程序——摆脱DLL“地
发掘 C# 特性赋予科学计算项目以威力
《系统飞狐》中获取系统信息的方法
使用 Http 在线自动升级程序
UTF-8与GB2312之间的互换
在VC中调用DirectShow全屏播放视频
案例研究:If-Trader 订单流程处理系统
介绍一个操作DHTML表格的C 对象

相关评论


本文章所属分类:首页 VC++

  热门关键字: