delphi - 通过仅指定路径来创建TImageList

标签 delphi delphi-2007 imagelist

在Delphi 2007中,在设计时将图像加载到TImageList中。这引入了以下问题:


我有一个文件夹,其中包含我在应用程序中使用的图形
每当我想更改“保存”图标时,我必须


更改文件夹中的图形(出于我自己的目的)
遍历应用程序中的所有TImageList
更改TImageList中的图形



是否有任何方法(组件,编译脚本等)自动执行步骤2和3,即在设计时仅指定图形路径,从而对实际图形文件产生依赖性?

最佳答案

您可以创建TImageList的后代,然后在其中添加这种逻辑。

由于引用TImageList中的图像的组件按索引执行此操作,因此让您的后代拥有TStrings类型的ImagePaths属性(其格式如下)是最容易的:

#=Filename


也许还添加字符串类型的属性BasePath。

然后,在加载该组件时,它可以自动将那些图像重新加载到内存中。

您甚至可以使其成为设计时专家,从而将图像加载到设计器中。

--jeroen

关于delphi - 通过仅指定路径来创建TImageList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1042546/

相关文章:

delphi - 找不到 Delphi 2007 WSDL 导入器

image - TimageList 不包含名为 GetBitmap 的成员

VB6 从 ImageList 中提取图像(任何类型)

delphi - 如何使用 "case"语句而不是 "if"语句测试某个值是否在范围内?

delphi - 如何在Delphi 7中获取GIT?

delphi - 如何在 TcxExtLookupComboBox 中使用 TcxCustomDataSource?

delphi - 用 for in construction 创建的 Enumerator 是如何被销毁的?

delphi - VCL 表单应用程序和控制面板小程序有什么区别

delphi - IExplorer.exe 的 ShellExecute 路径

c# - (C#、WinForms)如何为 ImageList 中的图像分配可访问性属性