我有2个Tframes和一个添加按钮。我试图在按下按钮时将一个tframe添加到另一个上。但因为我的代码似乎无法工作。它不会像它想象的那样添加框架。没有错误或运行,它编译和运行,但是当我按下按钮时,它什么都不做。当我将一个tframe添加到滚动框时,我得到了它的工作,我所做的只是改变了要添加的tframe的位置。对于TFrame2在运行时将Tframe添加到另一个Tframe
void __fastcall TFrame2::AddFrame()
{
int temp = 0;
TFrame1* NewFrame1 = new TFrame1(this);
NewFrame1 ->Parent=this;
TComponentEnumerator * ParentEnum = GetEnumerator();
while(ParentEnum->MoveNext())
{
temp++;
}
NewFrame1 ->SetIndex(temp);
NewFrame1 ->Name = "Frame" + IntToStr(temp);
NewFrame1 ->Top = (NewFrame1 ->Height) * (temp);
}
代码,这是我使用的TFrame1本身的代码
void __fastcall TFrame1 ::SetIndex(int temp)
{
this->temp= temp;
}
int __fastcall TFrame1 ::GetIndex()
{
return this->temp;
}
律BG信息:我必须TFRAME添加到另一个TFRAME的原因,是这样我就可以将一组组件添加到另一组组件中,我不知道有任何其他方式来执行它。稍后我将tframe2添加到主窗体上。
你需要更具体。 “我的代码似乎无法工作”给我们绝对没有什么可继续。如果事情不奏效,你需要具体说明他们不能如何工作,包括你得到的任何特定的错误消息。请记住,我们无法从这里阅读您的想法或屏幕,所以我们唯一的信息就是您在问题中给我们的信息。 – 2012-02-16 15:25:24
顺便说一句,'TFrame1 * NewFrame1 =新的TFrame1(TFrame2);'是错误的。将传递的参数('Owner')从'TFrame2'更改为'this'。 'TFrame2'是一个类型,你需要将指针传递给引用。 – 2012-02-16 15:26:58
我向y添加了更多的细节代码不起作用。它只是简单地运行没有错误,但没有添加tframe。我已经尝试过'this'而不是TFrame2,同样的事情,代码运行,但是当我按下按钮 – livelaughlove 2012-02-16 17:54:50