我有2个tframe和一个add按钮。当按钮被按下时,我试图将一个tframe添加到另一个tframe上。但是由于w.e的原因,我的代码似乎不能工作。它没有像预期的那样添加框架。没有错误或运行,它编译并运行,但当我按下按钮时,它什么也不做。当我将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 info:我必须将tframe添加到另一个tframe的原因是,这样我就可以将一组组件添加到另一组组件上,我不知道有其他方法可以做到这一点。稍后,我会将tframe2添加到主窗体中。
发布于 2012-02-17 10:27:30
根据您所显示的代码,唯一可能出错的情况是,如果您将子框架的Top属性设置为超过其父框架的Height属性的值,则即使子框架确实存在于内存中,也看不到它出现在屏幕上。
https://stackoverflow.com/questions/9313534
复制相似问题