Announcement

Collapse
No announcement yet.

Button während der Laufzeit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Button während der Laufzeit

    <p>Wie erstelle ich ein Button während der Laufzeit? Ich werde aus der Hilfe im C++Builder nicht schlau. "__fastcall virtual TForm1::TButton(TComponent* Owner);". Muss da nicht irgendwo TButton *Button1 = new TButton stehen?</p>
    <p>Gruss Thierry</p>

  • #2
    Hi,

    In der Hilfe ist nur der Konstruktor beschrieben, also welche Argumente TButton bei seiner Erzeugung verlangt. Das Due Ihn mit new erzeugen musst steht dann im Text.

    Damit der Button auch sichtbar wird, musst Du die Eigenschaft Parent setzen!
    Bei den Ereignissen weist Du die Adresse der anzusprechenden Funktion zu.
    <pre>
    class TForm()
    {
    //...
    TButton Btn;
    //...
    }
    __fastcall TForm1::MakeButton()
    {
    Btn = new TButton(this); // Buttton global
    Btn->Parent = this; // bezeichnet das übergeordnete Element
    Btn->OnClick = Button1Click; // OnClick Ereignis zuweisen
    Btn->Left = 10;
    // undsoweiter undsofort. Hier die Position, Größe, Text angeben

    }
    void __fastcall TForm1::Button1Click(TObject *Sender){
    // tu irgendwas

    Comment


    • #3
      <p>Cool, merci. Thierry</p&gt

      Comment


      • #4
        <p>Und was muss anstatt von "this" stehen, Wenn mann diesen Button in einem zur Laufzeit kreirten Formular anzeigen will?</p>
        <p>Gruss Thierry</p&gt

        Comment


        • #5
          Hallo Thierry,

          wird der Button innerhalb einer Elementfunktion deines 'dynamischen' Formulars erzeugt, kannst Du 'this' verwenden, weil sich der this Zeiger immer auf das Objekt bezieht in dem du gerade 'arbeitest'.
          Möchtest Du den Button in der selben Funktion erzeugen wie das Formular, sieht das folgendermassen aus:

          myForm = new TMyForm(....);
          myButton = new TButton(myForm);
          myButton->Parent = myForm;

          Gruss Heik

          Comment

          Working...
          X