【发布时间】:2021-08-09 18:40:51
【问题描述】:
我知道如何使用 RTTI 复制和复制 TImage 组件和其他组件。
但是,我不知道之前加载的原始TImage 中的图像是否可以与副本一起复制。
是否可以复制TImage 中的图像而无需在创建后将图像重新加载到新组件中?
这是我在要复制的组件中查找 PropType 类型的代码:
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,他的PropType->Kind是什么帮助获取和复制的?
有可能吗?
【问题讨论】:
标签: c++ c++builder vcl rtti timage