首页
社区
课程
招聘
[原创]调用静态库中资源的坎坷过程
发表于: 2013-10-30 11:05 3834

[原创]调用静态库中资源的坎坷过程

2013-10-30 11:05
3834

我使用VC自定义了一个控件,这个控件中有一个右键菜单的资源,然后噩梦就来了…………听我细说。

我在另一个项目中使用了我的自定义控件,但是只要是在控件上右键,那么程序就会出错,最后定位到的原因是加载菜单的时候,菜单句柄为NULL。代码片段如下
CMenu menu;
menu.LoadMenu(IDM_xxx);

使用上面的代码加载静态库中的菜单资源,菜单的句柄总是为NULL。

难道静态库中的资源不能使用吗?不是的,经过一整天的蛋疼测试,发现了问题所在,静态库中的资源ID与调用程序中的资源ID冲突了,我修改静态库中的菜单资源的ID,修改了几个值:10001,20001,30001,40001…………只有ID为40001的时候,菜单资源加载成功了,要说明的是,我调用这个静态库的项目中,资源ID没有10001,20001,30001这几个,但是只有当菜单资源ID为40001时成功了。

这种情况让我感觉不可掌控,如果我新建了一个其他的项目,项目中有个资源ID为40001,那么岂不是又冲突了,难道还要去修改代码?

最后:最后我抛弃了使用资源的形式创建菜单,老老实实的用代码去创建吧。。。这样绝对不会冲突。

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 185
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这种存在一种叫做协商的问题。 自己给自己定个规矩,控件 使用哪个范围的,程序使用哪个范围的。

比如说windows 的消息。 WM_USER以下的就是系统保留,以上的就可以自定义 。
2013-10-30 15:34
0
游客
登录 | 注册 方可回帖
返回
//