zur Laufzeit erstellte Controls anzeigen (war: c++ Problem)



  • Also, ich benutze Borland C++ Builder 5 und will Komponenten (Labels und Shapes) zur Laufzeit erstellen und auf meiner Form platzieren.
    Zu Testzwecken hab ich erstmal nur n Label versucht. Dazu hab ich der Form die Variable *label vom Typ TLabel als Attribut hinzugefügt, und hab im Konstruktor mit 'label = new TLabel(this)' ein Label erstellt und mit 'label->Caption = "Test"' nen Text zugewiesen. Das zeigt er aber nicht an!

    Ein kumpel hat gesagt, dass ich die Komponente noch einbinden muss, also hab ich das mit 'Application->InsertComponent(label)' gemacht, hat aber nicht gefunzt (bringt zwar keine Fehlermeldung, aber das Label seh ich trotzdem nicht...).
    Ich hab auch 'label->Visible = true' versucht, hat auch keine Fehlermeldung gebracht, aber auch nix gemacht...
    Die Position von dem Label hab ich auch schon angegeben, aber was ich auch mach, es taucht nirgends auf!!!

    Woran liegt das, und wie gehts richtig???

    Edit:
    Bitte aussagekräftige Überschriften wählen. Danke!



  • Ich weiß nicht mehr genau, wie die Eigenschaft/Funktion heißt, aber während der Laufzeit erzeugte Komponenten muß Du noch sichtbar machen. Standardmäßig werden während der Laufzeit erzeugte Komponenten nämlich auf Invisible gesetzt. Irgendwo in der Klasse TLabel muß es eine Eigenschaft bool Visible oder so ähnlich geben. Die muß Du auf true setzen. Dann sollte es funktonieren.



  • wmmf
    Außerdem wäre es gut, sich vor dem Posten einen treffenden Titel auszusuchen..



  • Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum Borland C++ Builder (VCL/CLX) verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Siehe FAQ unter "Komponenten - zur Laufzeit erstellen".



  • Hallo,

    BorlandUser schrieb:

    Irgendwo in der Klasse TLabel muß es eine Eigenschaft bool Visible oder so ähnlich geben. Die muß Du auf true setzen.

    Hat er doch schon:

    sbrog schrieb:

    Ich hab auch 'label->Visible = true' versucht, hat auch keine Fehlermeldung gebracht, aber auch nix gemacht...

    Außerdem ist die Eigenschaft Visible ohnehin zu Beginn auf true gestellt.

    @sbrog
    Du wirst den Parent nicht gesetzt haben:

    label->Parent = this;
    

    MfG
    tuküe



  • Sorry für den Fehlpost
    Ich bin noch ziemlich neu auf c++ und habe gedacht, das wär kein Compilerabhängiges Problem.



  • die ganzen TIrgendwas dinger sind VCL und gehören hier her (o; Was du mit denen machst hat auch nicht wirklich was mit C++ zu tun sondern ist einfach nur das Anwenden einer Library...

    -junix



  • ich kenn mich nicht sehr mit c++ aus.
    Ich poste hier nur für einen Freund, weil er hier nicht angemeldet ist



  • hier kann man auch unagemeldet posten...?

    -junix



  • sbrog schrieb:

    ich kenn mich nicht sehr mit c++ aus.
    Ich poste hier nur für einen Freund, weil er hier nicht angemeldet ist

    ⚠ Man kann auch als Gast Beitrage in dieses Forum posten ⚠



  • @Agent: ist hier ein Echo?

    -junix


Anmelden zum Antworten