Komponenten erstellen



  • Ich möchte ein paar Button darstellen

    int top=0;
        for (int i=0;i<5;i++)
        {
            top += 30;
            TButton(this).Parent = Form1;
            TButton(this).Name = "huhu"+IntToStr(i);
            TButton(this).Caption = "huhu"+IntToStr(i);
            TButton(this).Left = 20;
            TButton(this).Top = top;
        }
    

    Bei dieser Methode erhalte ich keinen Fehler, aber ich sehe auch nur in Position left,top(0,0) einen einzelnen Button ohne Text. Was mach ich denn falsch?



  • Hallo

    Woher hast du denn das? 😮

    TButton(this).Parent = Form1;
    

    Wie es richtig geht kannst du in der FAQ hier im BCB-Forum nachlesen, im Artikel "Dynamische Arrays von Komponenten"

    bis bald
    akari



  • Woher hast du denn das? 😮

    Oh, das ist der erste Smilie den ich je von akari gesehen habe.
    Das ich das noch miterleben durfte. 😃



  • akari schrieb:

    Woher hast du denn das? 😮

    TButton(this).Parent = Form1;
    

    Was jetzt daran falsch den Parent zu setzen? Und allgemein habe ich dies aus einem Delphi Beispiel.

    TButton.Create(self).Name = 'Button'+IntToStr(i)
    

    Danke für den FAQ Hinweis.



  • Hallo

    Das Setzen ds parents ist ja richtig, nur nicht das wie. Das Delphi-Beispiel ist natürlich korrekt, aber in C++ sieht das anders aus.

    TButton* button = new TButton(this);
    button->Parent = this;
    

    Und so findest du es auch im bereits erwähnten FAQ-Artikel.

    bis bald
    akari


Anmelden zum Antworten