dyheng 发表于 2005-5-15 14:00:00

[求助]自定义工具条中的图标可以从DLL中读取吗?

<FONT face=宋体 size=2>自己做了一个工具条,在显示ToolbarButton的图标时,要用SetBitmaps方法从磁盘读位图文件,这样很不方便,因为我要是想分发这个已做好的工具条时,要把很多位图一起分发出去,能不能像Windows 下设文件的DefaultIcon一样从DLL里面读取位图,这样的话,我只需要把所有位图编辑到动态链接库(DLL)中,然后分发这个DLL就行了,但我用SetBitmaps "E:\myToolbar.dll,1", "E:\myToolbar.dll,2"<BR>(DLL里面已分别编译好了16x16,32x32的两个位图),但启动CAD后加载工具条时总是说参数E:\myToolbar.dll,1无效,难道是不能从DLL中加载位图吗?<BR>望高手指教。</FONT>

mccad 发表于 2005-5-15 18:04:00

注意Autodesk的编程人员总是那么猪头。<BR>唯一的方法是自己写菜单文件,而不要在程序中写菜单。

为你而醉 发表于 2011-8-29 11:37:19

将dll文件的名跟菜单名的一样

pmq 发表于 2011-9-2 19:58:20

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一并加载。

         http://pmq.ys168.com/

sjl_fyl 发表于 2024-9-9 10:42:03

{:1_1:}学习
页: [1]
查看完整版本: [求助]自定义工具条中的图标可以从DLL中读取吗?