добавление Tframe к другому Tframe во время выполнения - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть 2 кадра и кнопка добавления. Я пытаюсь добавить один кадр на другой, когда кнопка нажата. но по какой-то причине мой код не может работать. это не добавление кадра, как это должно быть. нет ошибок или запуска, он компилируется и запускается, но когда я нажимаю кнопку, он ничего не делает. я заставил его работать, когда я добавил 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;
}

lil bg info: причина, по которой я должен добавить tframe в другой tframe, заключается в том, что я могу добавить группу компонентов в другую группу компонентов, я не знал другого способа сделать это позже я добавлю tframe2 в основную форму.

1 Ответ

0 голосов
/ 17 февраля 2012

Учитывая код, который вы показали, единственное, что может пойти не так, это если вы установите для свойства Top дочернего фрейма значение, которое превышает свойство Height его родительского фрейма, чтобы вы не виделидочерний кадр появляется на экране, даже если он существует в памяти.

...