Board logo

Subject: 咨询一个问题。关于专家包的图标的。 [Print This Page]

Author: menglong35    Time: 2008-3-12 18:22     Subject: 咨询一个问题。关于专家包的图标的。

因为工作原因,想做在专家包上增加一个功能同VSS(代码管理的工具)做个集成,就是可以直接在DEPHI中将代码签出签入,同VS2005的源码管理功能差不多。

现在功能做的差不多了。但是在我做的这几个菜单的图标怎么也加不上。如图:

附件1


按照专家编写指南里的方法也试,还没有成功。

如下方法

专家插件的图标目前使用两种机制获得,一是根据专家插件的类名去CnWizards的资源DLL中查找图标,无则根据专家插件的类名查找专家安装目录中Icons目录下的同名ICO文件;开发期如需要替新增专家创建图标,可以创建一32×32256色(或16位色,色彩超过256可能会有显示兼容性的问题)图标,以专家类名命名放置于Icons目录下即可,发布时此图标会自动被编译入资源DLL中。当专家中需要此专家的16×16的图标时,会按比例缩小32×32,不会取其图标文件中的16×16部分(即使它存在),这点请注意


是不是这个方法现在不行了。还请帮忙解答一下。谢谢


[ 本帖最后由 menglong35 于 2008-3-12 18:24 编辑 ]

Image Attachment: [新增菜单] aa.bmp (2008-3-12 18:22, 197.24 K) / Download count 386
http://bbs.cnpack.org/attachment.php?aid=386


Author: menglong35    Time: 2008-3-12 18:26

我是继承TCnSubMenuWizard写的

菜单创建代码如下:

procedure TCnSampleSubMenuWizard.AcquireSubActions;
begin        
  IdTool_GetP := RegisterASubAction('GetVSSProject', '获取工程', 0, '获取工程', 'GetVSSProject');
  IdTool_CreateDir := RegisterASubAction('CreateDir', '获取本地路径', 0,'生成本地路径', 'CreateDir');
  AddSepMenu;

  IdTool_CheckOutP := RegisterASubAction('CheckOutVSSProject', '签出工程', 0,'签出工程', 'CheckOutVSSProject');
  IdTool_CheckInP := RegisterASubAction('CheckInVSSProject', '签入工程', 0,'签入工程', 'CheckInVSSProject');

  AddSepMenu;

  IdConfig := RegisterASubAction('VssOption','VSS配置', 0, '配置VSS信息', 'VssOption');
end;
Author: Passion    Time: 2008-3-12 23:42

因为安装好的专家默认情况下是使用资源DLL中的图标,因此新增的Icon文件没法起作用,必须删除资源DLL并将开发目录中的Icons目录复制到专家包的安装目录中才行。
Author: menglong35    Time: 2008-3-13 08:56

问题已经解决,原来要在安装的目录里新增一个ICONS的文件夹,将图标放到里面才行,图标名同创建菜单时的最后一个参数。

如:

IdTool_GetP := RegisterASubAction('GetVSSProject', '获取工程', 0, '获取工程', 'GetVSSProject');


中的最后一个参数GetVSSProject。
Author: Passion    Time: 2008-3-13 10:23

对。恭喜问题解决。




Welcome to CnPack Forum (http://bbs.cnpack.org/) Powered by Discuz! 5.0.0