2014-03-05 55 views
0

我一直在四处寻找,但没有发现任何具体的...获取当前加载在TImage组件的资源名称 - 德尔福XE3

我建立包含约100个小型的PNG图像文件resoruce,和我在应用程序中随机加载它们。 然后,我在每个TImage组件上都有OnClick事件,我在那里获取发件人的名称(Image1,Image2等),但不知道如何获取标识符的名称,该标识符当前已加载到发件人中(TImage )从资源...

这是甚至可能的,或者我需要存储种类的字符串或数据库包含有关每个图片使用哪些资源的信息......?

的GetNamePath检索什么...

感谢

回答

4

TImage组件(或图片和位图属性)不存储加载的资源的任何引用。所以你必须手动完成。尝试使用带有对资源ID和TImage的引用的字典(TDictionary<TImage, Integer>),或者您可以创建一个新组件,该组件从TImage开始添加一个新属性以存储加载的资源ID。

+0

我最终将使用过的图片ID添加到图片标签中,因为目前我不需要其他任何东西。只是想知道是否有任何方式直接做这个...谢谢。 –

2

您可以将图像加载到TImageList第一,然后检索从该清单图片到每个TImage根据需要,然后使用TImage.Tag属性来保持其指数被检索的轨道。如果您使用TPNGImageList,则可以将每张图像的额外数据存储在列表中,就像原始资源标识符名称一样。

+0

我最终将图像标识添加到了图像标签中,就像您所说的那样,因为目前我不需要其他任何东西。只是想知道是否有任何方式直接做这个...谢谢。 –