问题描述
我知道如何使用 RTTI 复制和复制 CustomMultiPartParser
组件和其他组件。
但是,我不知道之前加载的原始 timage
中的图像是否可以与副本一起复制。
是否可以复制 timage
中的图像,而无需在创建后将图像重新加载到新组件中?
这是我在要复制的组件中查找 PropType 类型的代码:
timage
这是一个将 PTypeInfo TypeInfo = static_cast<PTypeInfo>(Original->ClassInfo());
int PropCount = GetTypeData(TypeInfo)->PropCount;
for(int i = 0; i < PropCount; i++)
{
switch ((*Prop->PropType)->Kind)
{
case tkInteger : ...
case tkChar :
case tkEnumeration :
case tkSet :
case tkWChar:
case tkWString :
case tkLString :
case tkString:
case tkFloat:
break;
default:
break;
}
}
从原始组件复制到新创建的组件的示例:
Height
如何复制图像?如何将原int OrdHeight = GetordProp(Original,"Height");
PropInfo = GetPropInfo((PTypeInfo)New->ClassInfo(),"Height");
SetordProp(New,PropInfo,OrdHeight);
的图片数据获取到新的timage
,他的timage
是什么来帮助获取和复制的?
有可能吗?
解决方法
复制图片数据最简单的方法是将原Assign()
对象TImage::Picture
复制到新的TImage::Picture
对象:
NewImage->Picture->Assign(OrigImage->Picture);
您可以使用 RTTI 获取 2 个 TPicture*
对象指针。