2

我有一个TToolbar显示操作按钮的按钮,它有一些内置按钮和它自己的按钮TImageList来为它们提供图标。

我还有一个向工具栏添加按钮的插件。它有自己的TImageList和自己的TActionList,动作列表使用图像列表中的图标。但是当我创建按钮并将它们添加到工具栏时,它们不会显示插件内图像列表中的图像;他们似乎在动作上使用 ImageIndex 属性,但使用TImageList工具栏,所以图像都搞砸了。

我怎样才能使在这种情况下显示的图像TImageList是插件内部的图像?

4

1 回答 1

4

工具栏具有对单个图像列表的引用。这是底层 Windows 控件的一个属性,它只是由 VCL 反映给您。

结论是您必须将所有图像放入同一个图像列表中。一个工具栏不能引用两个不同的图像列表。

一种解决方案是将您的图像列表传递给插件并允许它将字形添加到您的图像列表中。

请注意,我说的是主图像列表。当然,您对禁用图像和热门图像使用不同的图像列表。但它们并没有真正包含不同的字形——它们包含相同的字形,但呈现不同的状态。

于 2012-12-08T20:59:29.437 回答