找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1006|回复: 9

[求助]:写CAD工具栏时怎么将图标集成到DLL文件中?

[复制链接]
发表于 2006-2-12 09:57:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
菜单文件采用源菜单文件,
我现在都是直接使用一个个图标文件(bmp文件)的,
怎么将这些资源集成到dll文件中,在加载菜单时还能正确显示啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2006-2-12 10:50:12 | 显示全部楼层
把图标文件集成到一个dll中的好处就是使得文件可以大大变小,同时可以封装图标,让别人得不到你做的图标,但是必须通过函数来提取图标资源,得到的可能是一些句柄,不好用到工具栏上去吧
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-12 17:37:42 | 显示全部楼层
我看有人提供的二次开发安装程序的安装实例中就是用dll文件作图标资源文件的阿,就是不知道他怎么实现的?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-13 09:17:45 | 显示全部楼层
如果工具条是ACAD本身的工具条,是BMP文件无法集成到DLL文件中去的;如果工具条是纯C的,则可以实现(先做出一个含BMP的DLL文件,然后LoadLibrary ,实现代码MSDN中有)!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-13 18:02:35 | 显示全部楼层
这种做法主要用于AutoCAD内部的工具条:把图标按照名称(不是编号)制作到DLL中;DLL的文件名称必须和菜单文件同名同位置;在菜单文件中定义工具条时按照名称引用DLL中的图标。这样,当菜单文件调入时系统自动调入同位置处同名的DLL作为资源,编译菜单文件时自动引用DLL中的图标。注意,DLL必须是纯资源DLL,也就是说没有入口点。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-13 18:31:35 | 显示全部楼层
Hellow朋友,可不可以给段程序看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-16 12:21:17 | 显示全部楼层
我想看看整个的制作过程啊
谢谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-16 15:31:17 | 显示全部楼层
最初由 Hellow 发布
[B]这种做法主要用于AutoCAD内部的工具条:把图标按照名称(不是编号)制作到DLL中;DLL的文件名称必须和菜单文件同名同位置;在菜单文件中定义工具条时按照名称引用DLL中的图标。这样,当菜单文件调入时系统自动调入同... [/B]


没看懂! 但是你已经实现了这种功能吧?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2006-2-16 23:48:09 | 显示全部楼层
我做过,但现在不用这一套了。具体例子可以看一下AutoCAD R14完整安装后,其support目录下有一个例子,还有说明文档(查找同名的.mns,.dll,.txt配对的应该就是,具体忘了),大概流程我说一下:
1、纯资源动态库的建立:
   创建一个Win32 DLL项目,把所有位图作为资源加到项目;注意:各位图资源的ID用字符串,不要用整形ID;然后设置/NOENTRY(无入口点)的连接器选项后直接编译形成纯资源DLL。
2、菜单文件定义:
   这个简单,在CAD的support目录下打开任意一个.mns文件看一下就知道了;注意的是其中定义的工具条中的位图名称用在DLL中对应的位图字符串ID。
3、这基本就可以了,用时把DLL和MNS文件放在一起就可以了。
当CAD加载菜单文件时会查找与菜单文件同名的DLL一并加载。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-2-18 10:32:19 | 显示全部楼层
谢谢,已经搞定了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 13:53 , Processed in 0.338483 second(s), 48 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表