转帖 打包图标为dll 超级简单教程
本帖最后由 xshrimp 于 2011-8-30 09:50 编辑原作者 lynfr8
只需要借助一个很容易上手的绿色小软件 IconJack32
以图代述:
1.运行IconJack32
2.准备你需要调用的图标,导入
3.导入后也可升序降序排列或删除图标
4.导出
5.保存为dll文件
好了,大功告成!
菜单文件对应dll文件,是不是很简单?
下载
本帖最后由 linshiyin2 于 2012-5-21 09:12 编辑
转帖,高人的
现在以建立“EBGSoft.dll”文件作为示例:
1.建立一个目录(如“bmp”),将图标文件全部放入该目录。注意,图标文件应为位图文件(*.bmp)。
2.利用“EBG_ResourceTool.exe”创建资源文件“EBGSoft.rc”及“EBGSoft.res”。
注意:要想创建成功,必须在电脑的C盘或D盘安装有全功能的VB程序(安装在默认路径)。!!!!
3.启动VB,选择菜单:文件/新建工程/选择“ActiveX DLL”/确定。
4.在右侧的“工程”窗口中的空白处,点击鼠标右键,选择菜单:添加/添加文件/选择你刚才创建的资源文件“EBGSoft.res”/打开。
5.选择菜单:文件/工程另存为,输入文件名,这里将所有的文件名均保存为“EBGSoft”(取默认扩展名)。
6.选择菜单:文件/生成EBGSoft.dll
搞定!
以后如果图标有扩充,只需:
1.重新用“EBG_ResourceTool.exe”创建资源文件“EBGSoft.rc”及“EBGSoft.res”。
2.双击“EBGSoft.vbp”启动VB,选择菜单:文件/生成EBGSoft.dll
搞定!
位图资源DLL(动态连结库)用于保存工具栏、菜单所使用的位图。
AutoCAD要访问位图资源,需要满足以下三个条件。
1、DLL文件名必须与相关联的菜单文件名相同。
2、DLL的资源必须命名,而不是按索引编号(因为前面制作资源时,每个位图都有名字,所以此条满足)。
3、DLL文件必须与调用它的菜单文件位于相同的目录中。
也就是说如果菜单名是“EBGSoft.mnu”,则DLL文件名必须是“EBGSoft.dll”,它们必须在同一个目录内。
如果在创建资源文件“EBGSoft.rc”时,在bmp目录中有"ebg_XMXXCS.bmp"位图文件,则
在EBGSoft.mnu中的访问示例如下:
ID_XMXXCS ^C^C_EBG_XMXXCS
注意,访问时只能写文件名"ebg_XMXXCS",不要加扩展名。
附件
EBG_ResourceTool.exe (28 KB)
位图资源DLL(动态连结库)用于保存工具栏、菜单所使用的位图。
AutoCAD要访问位图资源,需要满足以下三个条件。
1、DLL文件名必须与相关联的菜单文件名相同。
2、DLL的资源必须命名,而不是按索引编号(因为前面制作资源时,每个位图都有名字,所以此条满足)。
3、DLL文件必须与调用它的菜单文件位于相同的目录中。
也就是说如果菜单名是“EBGSoft.mnu”,则DLL文件名必须是“EBGSoft.dll”,它们必须在同一个目录内。
如果在创建资源文件“EBGSoft.rc”时,在bmp目录中有"ebg_XMXXCS.bmp"位图文件,则
在EBGSoft.mnu中的访问示例如下:
ID_XMXXCS ^C^C_EBG_XMXXCS
注意,访问时只能写文件名"ebg_XMXXCS",不要加扩展名。
做个记号 正需要这样的软件,下载先,谢谢楼主 请问图标打包成dll文件后,如何调用? 试了下,不能打包BMP文件,可以打包ico,但cad图标文件都是bmp啊,不知道如何处理 感谢楼主的热心,收下了! 应该还有一个更给力的软件,但时间长想不起来了。 bmp无法打包??遗憾啊 1、dll文件名和mns名相同(Sur2004.DllSur2004.mns)
2、纯资源动态库的建立:
运行VB 新建Activex DLL,打开菜单"外接程序/外接程序管理器" 加载 VB6 资源编辑器
点击工具栏的"VB资源编辑器"来打开"VB资源编辑器",再点击"添加位图..."添加.BMP图片,
把所有位图作为资源加到项目;注意:各位图资源的ID用字符串,
(如 101 改为 Pjs,102 改为 Pmt)不要用整形ID;然后编译形成资源DLL。
3、菜单文件定义:
定义的工具条中的位图名称用在DLL中对应的位图字符串ID。
ID_Pmjs ^C^C_PmJs
ID_Hpmt ^C^C_HuiPMT
4、把DLL和MNS文件放在一起就可以了。
当CAD加载菜单文件时会查找与菜单文件同名的DLL一并加载。 pmq 发表于 2011-9-4 08:16 static/image/common/back.gif
1、dll文件名和mns名相同(Sur2004.DllSur2004.mns)
2、纯资源动态库的建立:
如果CAD是2006以上的版本,由于菜单文件默认加载的是CUI格式的文件,所以必须先MENU命令,生成ACAD.CUI
修改的菜单效果才可以看得到。