如何在 Delphi 2009 中为我的组件设置 Tool Palette 组件图标?

Posted

技术标签:

【中文标题】如何在 Delphi 2009 中为我的组件设置 Tool Palette 组件图标?【英文标题】:How to set the Tool Palette component icon for my component in Delphi 2009? 【发布时间】:2015-01-03 08:12:18 【问题描述】:

我已阅读THIS,但它适用于 Delphi 7,并且在 2009 年无法使用。这两个版本之间有很多变化。 D7 中的图标是 24x24,D2009 中的图标是 16x16...而在 D2009 中没有用于资源的图像编辑器...

我有一个单元 SuperList.pas,里面有 TSuperList 类和一个单独的 TSuperList.ico(16x16 16 色),我想将它用作我的组件的工具调色板图标。

这是我尝试过的......

我启动 Delphi, 文件->新建->包, 添加.. SuperList.pas, 项目->资源...->添加..TSuperList.ico, 我将 Resource Identifier 更改为 TSUPERLIST(两次!似乎有错误), 安装包, 重启 Delphi。

而且图标还是默认的!

【问题讨论】:

自 Delphi 7 以来没有任何改变,可能自 Delphi 1 以来也没有改变。将字形添加到 .dcr 文件中。将其命名为与您的组件相同的名称。将 .dcr 文件链接到包。 但是如果Delphi2009没有图像编辑器,如何创建.dcr文件? 最简单的就是使用旧的图片编辑器。或者看到这个***.com/questions/6999939/… 从根本上说,您所需要的只是包含一个具有正确名称的位图资源。随你喜欢。你的错误是使用图标而不是位图。 有问题。我的图标使用了整个 16x16 像素空间,位图左下角像素的颜色被认为是透明颜色。 【参考方案1】:

自 Delphi 7 以来没有太大变化。您需要链接一个与组件名称相同的位图资源。您可以使用许多不同的工具来制作位图和编译资源。您在这里的错误是您链接的是图标而不是位图。

此问题包含有用的详细信息,可能会被视为重复:Best way to make a component icon in Delphi XE using only the built in tools

【讨论】:

@bummi 我作为另一个 Q 的骗子关闭,然后重新打开。我不认为我可以使用我的 dupehammer 两次。如果其他人可以使用他们的,那我很好。 请注意,名称与组件的类名称完全相同的位图资源(全部大写,顺便说一句)的大小必须为 24x24。要提供 16x16 图像,请使用名称为 <ClassName>16 的单独图像资源。要提供 32x32 图像,请使用名称为 <ClassName>32 的单独图像资源。这三个图像可以在一个 .DCR 文件中。

以上是关于如何在 Delphi 2009 中为我的组件设置 Tool Palette 组件图标?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Gatsby 中为我的可重用组件返回特定图像?

Delphi 2009:传递组件名称 onclick 事件然后设置属性

如何在 Delphi 2010 ( UniSynEdit Package ) 中安装 Delphi 2009 组件包?

如何在 javascript 中为我的可拖动对象设置“边界”区域?

如何在 Prism 中为我的对话窗口设置区域管理器?

Delphi 2009 - 在自定义 Delphi 组件中设置默认属性值