0

2つのtframeと追加ボタンがあります。ボタンが押されたときに、一方の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;
}

lil bg info:tframeを別のtframeに追加する必要がある理由は、コンポーネントのグループを別のコンポーネントのグループに追加できるようにするためです。他の方法を知りませんでした。後でメインフォームにtframe2を追加します。

4

1 に答える 1

0

表示したコードを考えると、問題が発生する可能性があるのは、子フレームのプロパティを親フレームTopのプロパティを超える値に設定しHeightて、子フレームが画面に表示されても表示されないようにする場合だけです。メモリに存在します。

于 2012-02-17T02:27:29.857 に答える