如何在运行时克隆TChart?我发现this link,但它是Delphi,我无法翻译成C ++ Builder。
这是我尝试过的方法,但是在运行Class TChart not found
时出现错误:
TChart *tmp = new TChart(Chart1->Clone(this));
tmp->Parent = this->Panel2;
此外,我该如何克隆,以便可以轻松地在代码中引用新的克隆-例如Chart(2)
,Chart(3)
等
编辑1 :我可以使用以下代码克隆按钮,但是尝试使用TChart时,我仍然得到Class TChart not found
。
TButton *tmp;
tmp = new TButton(Button1->Clone(this));
tmp->Parent=ToolBar1; // put it on ToolBar1
tmp->Text = "Cloned Button";
编辑2 :以下代码创建了一个图表克隆并解决了Class TChart not found
问题,但没有实现真正的克隆。下图显示了Chart1和生成的克隆(在Win32上)。我的目标是制作一个模板图表(Chart1),然后在需要新图表时将其克隆...而无需设置属性块以使其看起来像Chart1。
void __fastcall TForm1::Button2Click(TObject *Sender)
{
RegisterClass(__classid(TChart));
TChart* tmp = (TChart*)(Chart1->Clone(Chart1)); // clone Chart1
tmp->Parent = Panel2; // put the new clone on Panel2
tmp->Position->Y = 300;
tmp->BottomAxis->Minimum = -8;
tmp->BottomAxis->Maximum = 8;
tmp->LeftAxis->Minimum = 0;
tmp->LeftAxis->Maximum = 10;
}
答案 0 :(得分:1)
可以使用功能TChart
克隆CloneChart
组件。
TChart* tmp = new TChart(this);
CloneChart(tmp, Chart1, this, false);
tmp->Parent = this->Panel2;
您可以将指向创建的TChart
对象的指针保存在向量中。