找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3981|回复: 26

[教学]:如何创建一个DLL文件并存贮你的ACAD菜单工具条位图

[复制链接]
发表于 2003-11-19 17:36:23 | 显示全部楼层 |阅读模式

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

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

×

  1.   [FONT=courier new]
  2. 如何创建一个DLL文件并存贮你的ACAD菜单工具条位图

  3.   当你制作的工具条菜单中要用到许多工具条位图时,你可把你所有的BMP文件打包到一个DLL文件中。

  4.   而制作方法有:

  5.     1. 使用 Visual Basic Resource Editor.

  6.        该方法可直接制作 ActiveX DLL文件

  7.     2. 使用ResHacker工具

  8.        Resource Hacker工具本身并不能创建空的DLL文件,必需先准备一个现成的空DLL文件。

  9.        但制作过程简单,下面就用该方法以制作文字大师工具条菜单为例说明制作步骤:
  10.   
  11.     A. 要点:1。制作的DLL要和菜单文件同名。
  12.              2。使用时要和MNU菜单文件放在同一目录下。
  13.       
  14.     B.  准备工作:
  15.             1。要有Resource Hacker - 版本 3.4.0工具。

  16.                用于查看,修改,添加和删除 Win32 可执行文件的资源。
  17.                内置了一个内部资源编译器和反编译器。我在附件中提供下载。

  18.            2. 准备一个空的DLL文件.如HQD.dll,我在附件中提供下载。

  19.            3. 准备好工具条位图bmp和源菜单文件MNU,并放到某个目录。
  20.       
  21.     C. 制作过程:
  22.            1。启动Resource Hacker。
  23.            
  24.            2。选取“文件”-》“打开”,选取HQD.dll文件。

  25.            3。选取“操作”-》“添加一个新资源...”,出现“添加一个新资源。。。”对话框。

  26.            4。点击“打开新资源文件。。。”按钮,选取第一个位图文件ctt.bmp。
  27.      
  28.            5。在“资源名称”栏填入位图名称(不包括扩展名)。

  29.            6。点击“添加资源”按钮,这样第一个位图已加入到HQD.dll文件。

  30.            7。重复上述步骤,把其它位图全部加入HQD.dll文件。

  31.            8.选取“文件”-》“保存为”,保存为ctt.dll文件。

  32.     D. 修改菜单文件ctt.mnu:

  33.        把***TOOLBARS段修改为如下,保存。(其它不变):

  34.        ***TOOLBARS

  35.        **tb_ctt
  36.        **文字修改大师
  37.           ID1            [_Toolbar("文字修改大师", _Floating, _Show, 127, 129, 1)]
  38.           ID_ctt         [_Button("修改大师", "ctt", "ctt")]^C^Cctt
  39.                          [--]
  40.           ID_ctta        [_Button("前缀出理", "ctta", "ctta")]^C^Cctta
  41.           ID_ctts        [_Button("后缀处理", "ctts", "ctts")]^C^Cctts
  42.           ID_cttd        [_Button("括号处理", "cttd", "cttd")]^C^Ccttd
  43.                          [--]
  44.           ID_cttf        [_Button("自身计算", "cttf", "cttf")]^C^Ccttf
  45.           ID_cttc        [_Button("相互计算", "cttc", "cttc")]^C^Ccttc
  46.           ID_cttt        [_Button("统计输出", "cttt", "cttt")]^C^Ccttt
  47.                          [--]
  48.           ID_cttb        [_Button("比例字高", "cttb", "cttb")]^C^Ccttb
  49.           ID_ctth        [_Button("字高修改", "ctth", "ctth")]^C^Cctth
  50.           ID_cttw        [_Button("字宽修改", "cttw", "cttw")]^C^Ccttw
  51.           ID_cttj        [_Button("文字旋转", "cttj", "cttj")]^C^Ccttj
  52.           ID_cttp        [_Button("文字倾斜", "cttp", "cttp")]^C^Ccttp
  53.           ID_cttq        [_Button("文字对齐", "cttq", "cttq")]^C^Ccttq
  54.                          [--]
  55.           ID_ctty        [_Button("字体设置", "ctty", "ctty")]^C^Cctty
  56.                          [--]
  57.           ID_ctte        [_Button("文字排版", "ctte", "ctte")]^C^Cctte
  58.           ID_cttx        [_Button("改大小写", "cttx", "cttx")]^C^Ccttx
  59.           ID_cttrw       [_Button("整体替换", "cttrw", "cttrw")]^C^Ccttrw
  60.           ID_cttrl       [_Button("局部替换", "cttrl", "cttrl")]^C^Ccttrl
  61.           ID_cttr        [_Button("文字替换", "cttr", "ctttr")]^C^Ccttr
  62.                          [--]
  63.           ID_help        [_Button("显示选项", "help", "help")]^C^Cctt?


  64.          **修改大师
  65.           ID0            [_Toolbar("修改大师", _Top, _Show, 1, 0, 1)]
  66.           ID_ctt         [_Flyout("ctt", ctt, ctt, _OtherIcon, ctt.TB_ctt)]  [/FONT]
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
 楼主| 发表于 2003-11-19 17:38:42 | 显示全部楼层
附:
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1个

财富等级: 恭喜发财

发表于 2003-11-26 11:03:57 | 显示全部楼层
我用VC做过,不过该DLL文件太大了,后来就是用的Resource Hacker做。但手上又没有空DLL文件,当时我就用了一个笨办法,就是把其他软件的DLL复制更名后,将里面的无用图标全部删除后得到一个空DLL,然后再用上述办法进行添加。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-12-15 08:15:29 | 显示全部楼层
最初由 xiaping 发布
[B]我用VB6.0制作DLL图标库文件,效果也不错。 [/B]


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

使用道具 举报

发表于 2003-12-22 18:11:26 | 显示全部楼层
最初由 xiaping 发布
[B]我用VB6.0制作DLL图标库文件,效果也不错。 [/B]

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

使用道具 举报

 楼主| 发表于 2003-12-24 12:50:53 | 显示全部楼层
用VB6制作DLL我写在这里了:

http://www.xdcad.net/forum/showthread.php?s=&threadid=126246
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-12-31 08:58:45 | 显示全部楼层
最初由 hqd9639 发布
[B]用VB6制作DLL我写在这里了:

http://www.xdcad.net/forum/showthread.php?s=&threadid=126246 [/B]

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

使用道具 举报

 楼主| 发表于 2003-12-31 10:12:32 | 显示全部楼层
最初由 xcajcj 发布
[B]
楼主,链接不上呀。 [/B]


试了一下,是链接不上了,我也不怎么回事。

直接贴到这里(附件是示操作所需文件):


  1.   [FONT=courier new]
  2.     用 Visual Basic Resource Editor 打包ACAD菜单工具条位图BMP

  3. 1.首先准备好将要打包的BMP文件及自定义的菜单文件。
  4.   本例以vba.mnu为例:

  5. ***MENUGROUP=VBA

  6. ***TOOLBARS

  7. ID_VBA_0  [_Toolbar("VBA", _Floating, _Show, 350, 246, 1)]
  8. ID_VBA_1  [_Button("VBA Load", "vbaload.bmp", "vbaload32.bmp")]^C^C_vbaload
  9. ID_VBA_2  [_Button("VBA Macro", "vbamacro.bmp", "vbamacro32.bmp")]^C^C_vbarun
  10. ID_VBA_3  [_Button("VBA Editor", "vbaide.bmp", "vbaide32.bmp")]^C^C_vbaide
  11. ID_VBA_4  [_Button("VBA Manager", "vbaman.bmp", "vbaman32.bmp")]^C^C_vbaman

  12. ***HELPSTRINGS

  13. ID_VBA_1  [Load VBA Project]
  14. ID_VBA_2  [Run VBA Macro]
  15. ID_VBA_3  [Load VBA Editor]
  16. ID_VBA_4  [Load VBA Manager]

  17. 2.启动Microsoft Visual Basic 6.0企业版,新建ActiveX DLL工程。

  18. 3.从“工具”菜单启动“VB 资源编辑器”。

  19.   注意:如“工具”菜单中找不到该项,请先选取“外接程序”菜单,启动“外接程序管理器”,
  20.       
  21.         在“可用外接程序”选取“VB 6 资源编辑器”加载该项。

  22. 4. 点击“添加位图...”按钮,添加位图到“VB 6 资源编辑器”。

  23. 5. 重复步骤 (4) 直到所有位图添加完毕。

  24. 6. 可右击位图名称,选取“属性”重命名BMP名称,以便与菜单中的位图名称相同。

  25. 7. 从“文件”菜单中“保存工程” 如命名为VBA。

  26. 8.从“文件”菜单中选取“生成vba.dll(K)...” 保存为VBA。

  27. 9.再次从“文件”菜单中选取“生成vba(K)...” 保存为VBA。

  28. 10.改写菜单为:
  29. ***MENUGROUP=VBA

  30. ***TOOLBARS

  31. ID_VBA0       [_Toolbar("VBA", _Floating, _Show, 350, 246, 1)]
  32. ID_VBA1       [_Button("VBA Load", "vbaload", "vbaload32")]^C^C_vbaload
  33. ID_VBA2       [_Button("VBA Macro", "vbamacro", "vbamacro32")]^C^C_vbarun
  34. ID_VBA3       [_Button("VBA Editor", "vbaide", "vbaide32")]^C^C_vbaide
  35. ID_VBA4       [_Button("VBA Manager", "vbaman", "vbaman32")]^C^Cvbaman

  36. ***HELPSTRINGS

  37. ID_VBA1       [Load VBA Project]
  38. ID_VBA2       [Run VBA Macro]
  39. ID_VBA3       [Load VBA Editor]
  40. ID_VBA4       [Load VBA Manager]

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

使用道具 举报

发表于 2004-1-1 20:12:53 | 显示全部楼层
费那么大的劲头干嘛啊?网上图标工具多的是。随便找一个满地找牙都是。
我做这样的dll只需要1分钟。

更正,演示中第二个提示应为:“选取所有*.ico,打包保存为ok.dll”
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

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

使用道具 举报

发表于 2004-2-12 20:27:51 | 显示全部楼层
我作了一个dll文件,添加好位图后,名字改为hyz.dll,然后将菜单文件中的**MENUGROUP=acad改为hyz将dll文件放到支持路径下,删掉已加入dll中的bmp文件,加载菜单文件,工具条不能加载图标,全变成了娃娃脸,是不是还有其它需注意的地方,对了,系统为win98。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-2-13 10:45:11 | 显示全部楼层
最初由 cqnj023 发布
[B]我作了一个dll文件,添加好位图后,名字改为hyz.dll,然后将菜单文件中的**MENUGROUP=acad改为hyz将dll文件放到支持路径下,删掉已加入dll中的bmp文件,加载菜单文件,工具条不能加载图标,全变成了娃娃脸,是不是还... [/B]


MNU菜单文件要与DLL文件同名(即hyz.dll, hyz.mnu),且放到同一支持路径下。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-2-13 16:08:27 | 显示全部楼层
我的菜单文件和dll文件是同名的,就是用的hyz.dll和hyz.mnu,并且加载的主菜单文件为hyz.mnu。但依然出现娃娃脸,还有其它相关设置吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-27 03:42 , Processed in 0.218746 second(s), 61 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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