如何为FireMonkey组件添加设计时图标?

6
我已经阅读了Paweł Głowacki的这篇文章,并成功地为我的组件显示了图标。结果如下图所示:

enter image description here

我可以在工具箱和结构视图中看到该图像。此外,在设计器中我只能看到默认的图标:

enter image description here

请问我该如何在设计器中显示我的组件图标呢?
我正在使用Delphi Tokyo 10.2 Update 2。我已经按照我所链接的文章进行了操作以显示图像。我的组件如下:
type
  TEquationSolver = class(TComponent)
    //code...
  end;

基本上,我已经完成了以下工作:
  1. 我创建了3个位图(16x16 24x24 32x32)和一个png(128x128)。
  2. 我将它们添加为资源,进入项目> 资源和图像。 enter image description here
  3. 我称它们为TEquationSolver,并加上指示大小的后缀。这样它们就可以在IDE中正确显示。
对于设计时部分,我缺少什么?在这篇文章中,我读到了以下内容:

我们的指南是:如果您想要非常简单的向后兼容性或小文件(BPL)大小,请使用PNG;如果您想要快速加载,请使用位图。我们使用16、24和32px图标的位图,以及128px图标的PNG。

事实上,我有16x16、24x24、32x32位图和128px的png。还有其他什么吗?

1
我已经修改了问题标题,因为你似乎在FireMonkey“环境”中(也许那里有所不同)。 - Victoria
1
@RemyLebeau 我找到了解决方案。我不得不上传另一个32x32的资源,并将该资源的ID命名为'TEquationSolver',而不是在末尾指定大小,比如'TEquationSolver32'。现在它可以正常工作了。 - Alberto Miola
好久不见 @Victoria。欢迎来到 Delphi。 - user30478
1个回答

6
看起来你需要创建我展示的文件,以及设计师需要使用的图片。后者需要与继承自 TComponent 的类名匹配(在我的情况下):enter image description here 如你所见,我添加了另一个位图(这是32x32,我只是复制并更改了名称),并将其命名为TEquationSolver。构建+安装后,我得到以下结果:enter image description here 请注意,我本可以只添加 logo.bmp 作为资源(并且与派生自 TComponent 的类名匹配),它仍然可以工作。问题是,图片可能会被缩放而变得模糊,就像我的情况一样。
因此,我认为做法是:
1. 放置一个将出现在表单设计器中的图像 2. 放置用于IDE的16x16、24x24、32x32和128x128大小的图片
在我的情况下,这种方法的差异是显而易见的。当我只有一个位图时,图像质量很低,但是当我提供各种尺寸时,它们看起来更好。

现在的(小)问题如下。在FireMonkey下的表单设计器中,32x32是一个好看的位图图像。在VCL下,32x32是模糊和不透明的。这可能是IDE的问题吗? - Alberto Miola
资源ID与组件类名完全匹配的图像应为24x24,而不是32x32或任何其他大小(在这种情况下,您不需要单独的TEquationSolver24资源)。其余的图像资源必须指定它们所代表的大小(16x16、32x32、128x128等)。表单设计器没有专用的图像资源,它使用存在的任何图像,就像IDE的其余部分一样。 - Remy Lebeau
1
@RemyLebeau 谢谢,现在完美了!我已经将24x24作为“主”位图与相同的类名放置,现在图像整洁了。在VCL和FMX下都完美! - Alberto Miola

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接