dynamisches Label ist nicht sichtbar



  • hallo,

    ich wollte ein Label dynamisch erzeugen. Form mit einem Button

    //buttonClick
    ...
    
    TLabel *label = new TLabel(this);
    label->Caption = "test";
    label->Left = 50;
    label->Top = 50;
    label->Visible = true;
    
    delete label;
    

    nur irgendwie passiert überhaupt nichts in meinem Formular, das heißt ich klicke auf den Button und nichts passiert.

    hab auch schon

    TLabel * label = new TLabel(Form1)
    

    und

    //statt visible
    label->show();
    

    aber es ändert nichts an der Sache. Hab nichts gefunden in der FAQ/Suche wie ich die dynamisch erzeugten Labels,etc anzeigen kann, dachte das label->visible = true ausreicht???!

    mfg
    Steffen



  • füg hinzu:

    label->Parent=this;
    

    Begründung: Es muss ja bekannt sein, worauf das Label platziert werden soll.
    Die Parameterübergabe im Konstruktor des Label bezeichnet lediglich den Owner der neu erstellten Komponente. Der Owner ist für das Freigeben dieser Komponente verantwortlich.

    übrigens ist, falls das Label auf Form1 liegt:

    TLabel * label = new TLabel(Form1);
    TLabel * label = new TLabel(this);
    

    das selbe, da This ein Zeiger auf sich selbst ist. Also in diesen Fall auf Form1



  • Original erstellt von skho:
    Hab nichts gefunden in der FAQ/Suche wie ich die dynamisch erzeugten Labels,etc anzeigen kann

    FAQ you! 😉


Anmelden zum Antworten