Domanda

ho 2 tframes, e un pulsante Aggiungi. Sto cercando di aggiungere un tframe sull'altro quando il pulsante è stampa. ma per motivi w.e il mio codice non riesco a lavorare. non è l'aggiunta del telaio, come si supponga di. non ci sono errori o in esecuzione, si compila e funziona, ma quando si preme il pulsante non fa nulla. ho ottenuto al lavoro quando ho aggiunto un tframe ad uno scrollbox, e tutto ho fatto è stato cambiare il percorso per il tframe da aggiungere.

codice per 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);
}

Questo è il codice che uso per TFrame1 sé

void __fastcall TFrame1 ::SetIndex(int temp)
{
    this->temp= temp;
}

int __fastcall TFrame1 ::GetIndex()
{
    return this->temp;
}

Info lil bg: la ragione devo aggiungere tframe ad un altro tframe, è così che io possa aggiungere un gruppo di componenti su un altro gruppo di componenti, non sapevo altro modo per farlo. in seguito aggiungo tframe2 nel form principale.

È stato utile?

Soluzione

Dato il codice che avete dimostrato, l'unica cosa che potrebbe andare male è che se si sta impostando proprietà Top della cornice bambino per un valore che supera la proprietà Height del suo frame principale in modo che non vedrebbe apparire il frame figlio sullo schermo anche se esiste in memoria.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top