delphi - 如何在 TToolbar 上混合图标的图像列表?

标签 delphi toolbar delphi-xe imagelist

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

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

如何才能使在这种情况下显示的图像是插件内 TImageList 中的图像?

最佳答案

工具栏具有对单个图像列表的引用。这是底层 Windows 控件的一个属性,VCL 简单地反射(reflect)给您。

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

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

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

关于delphi - 如何在 TToolbar 上混合图标的图像列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781831/

相关文章:

vim - 删除 GVim 中的工具栏

delphi - 使用 'dcc32 -JL' 编译时从另一个包中的另一个单元访问 Delphi 方法指针

delphi - 如何迭代 Action 管理器中包含的 Action - Delphi 2007

android - 禁用 CollapsingToolbarLayout 高程

java - 如何在 fragment 更新时更新工具栏标题

windows - Delphi XE 中的主题应用程序

delphi - 如何在虚拟模式下自动调整 ListView 的列宽?

delphi - 两个 TChart 组件同步缩放

android - 为 Android 制作可滚动的应用程序?

delphi - 如何获取谷歌危险网站列表