MFC如何添加新类型的资源并使用它
2012-10-30 20:51
363 查看
我们知道MFC的资源初始有Dialog,Icon,BMP,String等,但是我们经常在程序中需要加入自定义的资源。例如声音文件,图像文件或者其他的HTML,PDF,CHM等,那么我们怎么添加这些资源呢。
首先,右击资源,然后选择“添加资源”-》导入-》选择我们要添加的资源,例如一个CHM帮助文档。然后在资源类型中输入“CHM”。这样我们就在项目资源中加入了这个chm。
接着,我们要在程序中使用它。MFC自带的资源在程序运行时储存在内存中,我们要使用它们的话直接取出来就行了,例如我们把这个chm文件写入系统的临时目录中,然后通过ShellExecute()函数来打开这个chm文档。
具体如下:
HINSTANCE hInstance = AfxFindResourceHandle (MAKEINTRESOURCE (IDR_CHM1), RT_RCDATA) ; //资源的ID号 HRSRC hRes = FindResource (hInstance, MAKEINTRESOURCE (IDR_CHM1), _T("chm")) ; //chm是资源的类型,一定要写对 HGLOBAL hResData = LoadResource (hInstance, hRes) ; void * lpvData = LockResource (hResData) ; int cbSize = SizeofResource (hInstance, hRes) ; TCHAR path[512]; ::GetTempPathW(512,path); CString temp; temp.Format(_T("%s\\helpContents.chm"),path); //写入到系统临时文件夹 CFile file(temp, CFile::modeCreate | CFile::modeWrite); file.SetLength (cbSize) ; file.SeekToBegin () ; file.Write(lpvData,cbSize); file.Close () ; ::ShellExecute(NULL,_T("open"),temp,NULL,NULL,SW_SHOW);
同理,其他的资源也可以通过这种方法再进行具体的操作。
相关文章推荐
- MFC——添加新类型的资源并使用
- MFC生成的exe如何添加使用期限
- MFC如何快速添加资源
- MFC 如何使用动态链接库中的资源
- CArray使用简单介绍,如何添加标准数据类型,和自定义的类,或者自定义数据类型
- QuickCSharp框架开发(20)------授权部分的代码以及如何使用授权 添加用户、角色与分配资源部分的代码暂且省略
- 如何使用派生出来的控件?mfc -----为控件添加变量
- 如何在使用VS2005的MFC编写ActiveX控件时,为控件添加属性、方法?
- [转]如何使用MFC和类型库创建自动化项目
- MFC:如何使用Boost.Signal2在Document-View结构中添加事件响应机制
- 添加一个文件夹及一些文件如何使用git生成patch git补丁 新文件 图片资源文件
- MFC中如何获取添加的资源
- 如何使用MFC和类型库创建自动化项目
- 如何使用MFC和类型库创建自动化项目
- VC/MFC如何使用CreateEx()创建自己的对话框资源
- 在dll工程中使用mfc资源,窗体无法弹出如何解决?(文章内容均系转载,读者尚未理解)
- 如何使用MFC和类型库创建自动化项目
- 使用asp.net 2.0的CreateUserwizard控件如何向自己的数据表中添加数据
- IOS使用AFNetworking解析服务端(Java)返回的double类型时会自动添加很多0000000
- 如何使用hugo搭建个人博客(三):添加follow与修改share的方式