[求助]自定义工具条中的图标可以从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> 注意Autodesk的编程人员总是那么猪头。<BR>唯一的方法是自己写菜单文件,而不要在程序中写菜单。 将dll文件的名跟菜单名的一样 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/ {:1_1:}学习
页:
[1]