下载本文示例代码
这里采用定制资源的叫法以区别于Windows的预先定义资源(如图标、菜单、字符串表等)。定制资源象其它资源一样被编在资源文件中,并被链接程序捆绑到WIN32
执行文件中(如.EXE或.DLL)。任何大段的只读数据都可用做定制资源。
用定制资源方法保存只读数据有以下优越性:由于数据被捆绑在执行文件中,查询数据很安全;提高内存使用效率;简化编程任务。
定制资源时,第一步工作是使用你喜爱的编辑器准备你的数据文件(假设文件名为"MyRes.data",定义资源数据格式时,最好与你计划使用数据的格式一致,这样能简化编程量。
第二步是在工程的资源文件中加入你定义的资源。逐步执行下列动作:从Developer Studio中选择Insert | Resource菜单;从对话框按钮中选择Custom;在Resourc
Type输入框中定义资源的类型(假设"MyResType");右击资源标识,选择"Properties";修改ID标识(假设为"ID_MYRES"),并在File
Name后面输入MyRes.data,确保选择了External File检查框。
第三步是在程序中使用你的数据。假设你用名为MyResStruct的数据结构访问你的数据:
HINSTANCE hinst = AfxGetResourceHandle ();
HRSRC hresl = FindResource ( hinst,
MAKEINTRESOURCE( ID_MYRES, "MyResType" );
HGLOBAL hglb = LoadResource ( hinst, hresl );
MyResStruct * pMyData = (MyResStruct *) LockResource ( hglb );
其中hinst是包含资源的模块句柄,如果资源包含在动态库里,可以用LoadLibrary() 和GetModuleHandle()得到模块句柄。其它函数的使用以及参数的用法请参阅VC 的联机Help文档。
这里采用定制资源的叫法以区别于Windows的预先定义资源(如图标、菜单、字符串表等)。定制资源象其它资源一样被编在资源文件中,并被链接程序捆绑到WIN32
执行文件中(如.EXE或.DLL)。任何大段的只读数据都可用做定制资源。
用定制资源方法保存只读数据有以下优越性:由于数据被捆绑在执行文件中,查询数据很安全;提高内存使用效率;简化编程任务。
定制资源时,第一步工作是使用你喜爱的编辑器准备你的数据文件(假设文件名为"MyRes.data",定义资源数据格式时,最好与你计划使用数据的格式一致,这样能简化编程量。
第二步是在工程的资源文件中加入你定义的资源。逐步执行下列动作:从Developer Studio中选择Insert | Resource菜单;从对话框按钮中选择Custom;在Resourc
Type输入框中定义资源的类型(假设"MyResType");右击资源标识,选择"Properties";修改ID标识(假设为"ID_MYRES"),并在File
Name后面输入MyRes.data,确保选择了External File检查框。
第三步是在程序中使用你的数据。假设你用名为MyResStruct的数据结构访问你的数据:
HINSTANCE hinst = AfxGetResourceHandle ();
HRSRC hresl = FindResource ( hinst,
MAKEINTRESOURCE( ID_MYRES, "MyResType" );
HGLOBAL hglb = LoadResource ( hinst, hresl );
MyResStruct * pMyData = (MyResStruct *) LockResource ( hglb );
其中hinst是包含资源的模块句柄,如果资源包含在动态库里,可以用LoadLibrary() 和GetModuleHandle()得到模块句柄。其它函数的使用以及参数的用法请参阅VC 的联机Help文档。
下载本文示例代码
定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源定制资源
阅读(186) | 评论(0) | 转发(0) |