Добавление tframe в другой Tframe во время выполнения
-
26-10-2019 - |
Вопрос
У меня есть 2 Tframes и кнопка добавления. Я пытаюсь добавить один TFRAME на другой, когда кнопка нажимает. Но потому что мы рассуждаем, что мой код не может работать. Это не добавляет кадр, как это должно. Там нет ошибок или бега, он компилирует и работает, но когда я нажимаю кнопку, она ничего не делает. Я взял его на работу, когда добавил Tframe в Scrollbox, и все, что я сделал, это изменил место для добавления 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;
}
Информация о LIL BG: причина, по которой я должен добавить TFRAME в другой TFRAME, заключается в том, что я могу добавить группу компонентов в другую группу компонентов, я не знал никакого другого способа сделать это. Позже я добавляю tframe2 в основную форму.
Решение
Учитывая код, который вы показали, единственное, что может пойти не так, если вы устанавливаете детскую кадр Top
свойство к значению, которое превышает Height
Свойство своего родительского кадра, так что вы не увидели бы ребенка на экране, даже если она существует в памяти.