【发布时间】:2012-03-07 23:37:11
【问题描述】:
我有 2 个 tframe 和一个添加按钮。按下按钮时,我正在尝试将一个 tframe 添加到另一个上。但由于我们的原因,我的代码似乎无法工作。它没有像想象的那样添加框架。没有错误或正在运行,它编译并运行,但是当我按下按钮时它什么也不做。当我将 tframe 添加到滚动框时,我让它工作了,我所做的只是更改要添加的 tframe 的位置。
TFrame2 的代码
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;
}
a lil bg 信息:我必须将 tframe 添加到另一个 tframe 的原因是,我可以将一组组件添加到另一组组件中,我不知道有任何其他方法可以做到这一点。稍后我将 tframe2 添加到主窗体中。
【问题讨论】:
-
您需要更具体。 “我的代码似乎无法工作”让我们完全没有继续下去的机会。当事情不起作用时,您需要具体说明它们如何不起作用,包括您收到的任何特定错误消息。请记住,我们无法从此处读取您的想法或屏幕,因此我们拥有的唯一信息是您在问题中提供的信息。
-
顺便说一句,
TFrame1* NewFrame1 = new TFrame1(TFrame2);是错误的。将传递的参数(Owner)从TFrame2更改为this。TFrame2是一个类型,你需要传递一个指向引用的指针。 -
我添加了更多细节,代码不起作用。它只是简单地运行而没有错误,但没有添加 tframe。我试过'this'而不是TFrame2,同样的,代码运行,但是当我按下按钮时添加了o tframe
标签: runtime c++builder tframe