EVC程序转VS2005:解决MenuBar转换问题
5星 · 超过95%的资源 需积分: 9 104 浏览量
更新于2024-09-14
收藏 59KB DOC 举报
“EVC VS2005 移植指南:从EVC4到VS2005的菜单栏资源转换”
在进行EVC(Embedded Visual C++)程序向VS2005(Visual Studio 2005)的移植过程中,会遇到一些特有的挑战,尤其是涉及到资源文件的转换。本文档主要关注的是如何处理EVC中的MenuBar资源在VS2005中的转换,以及解决转换过程中可能出现的问题。
在EVC4中,MenuBar的定义通常是在主RC(Resource Compiler)文件中,而VS2005引入了RC2文件来存放这部分内容。这种变化可能导致在不正确处理的情况下,原本清晰易读的宏定义会被转换成十六进制形式,使得代码难以理解但功能仍然有效。
例如,原始的RC文件中,MenuBar可能有如下定义:
```cpp
IDR_MENUSHMENUBARMOVEABLEPURE
BEGIN
IDR_MENU,2,
I_IMAGENONE,IDM_DONE,TBSTATE_ENABLED,TBSTYLE_AUTOSIZE,IDS_OK,0,
NOMENU,
I_IMAGENONE,IDM_OPTIONS,TBSTATE_ENABLED,
TBSTYLE_DROPDOWN|TBSTYLE_AUTOSIZE,IDS_HELP,0,1,
END
```
在VS2005中,当资源被更新并保存后,这部分定义将转化为十六进制形式:
```cpp
IDR_MENURCDATA
BEGIN
0x0066,0x0002,0xfffe,0x800f,0x0004,0x0010,0x0067,0x0000,0xffff,
0xfffe,0x9c43,0x0004,0x0018,0x0068,0x0000,0x0001
END
```
以下是进行EVC到VS2005移植的步骤:
1. 在EVC4中创建一个新的TestMenuBar工程,选择简单的"HelloWorld!"应用模板,确保工程包含一个工具条菜单。
2. 打开VS2005,通过File|Open|Project/Solution导入EVC4的工程。
3. 遵循向导完成EVC4到VS2005的项目转换。
4. 在Solution Explorer中,右键点击Source Files,选择Add|NewItem。
5. 选择Utility类别,然后选择Text File,命名为TestMenuBar.rc2,点击Add。
6. 展开Solution Explorer,右键点击TestMenuBar.rc,选择View Code。
7. 将rc文件中的MenuBar定义剪切出来。
8. 打开TestMenuBar.rc2文件,将剪切的代码粘贴到其中。
9. 最后,在Resource View中查看TestMenuBar,确保所有资源都已正确导入和更新。
这个过程的关键在于理解和适应VS2005对资源文件的新处理方式。在VS2005中,RC2文件用于存储特定类型的资源,如菜单、对话框和图标等,这与EVC4有所不同。因此,迁移过程中必须将这些资源适当地转移到新的RC2文件中,以避免编译错误或资源显示异常。
在实际操作中,可能会遇到其他类型的资源转换问题,例如位图、图标、对话框等。对于这些问题,也需要按照类似的方法,将资源从RC文件移动到RC2文件,并检查VS2005中的表现是否符合预期。同时,需要注意调整相关的代码引用,确保程序能够正确地找到和加载这些资源。
EVC到VS2005的移植是一个涉及多个层面的过程,包括代码、资源文件、编译设置等。正确理解和处理这些差异是成功完成移植的关键。对于更复杂的项目,可能还需要考虑其他因素,例如库的兼容性、链接器选项、调试配置等。在实践中,建议详细记录每一步的操作,以便于回溯和解决可能出现的问题。
2010-12-06 上传
2010-04-28 上传
2012-11-18 上传
2010-06-09 上传
2011-08-31 上传
2008-06-30 上传
点击了解资源详情
2012-09-06 上传
LINYNA117
- 粉丝: 0
- 资源: 6
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查