Objekte während laufzeit erstellen

wie zb.:
TButton* testbox= new TButton(this);
das problem ist, er wird nicht angezeigt, da nützt show und ähnliches nix, wär ja auch zu einfach gewesen.
hab einen button der diesen (testbox) erzeugt, und einen der ihn löscht, (testbox->Free():wink: der zweite button bringt nur dann keine fehlermeldung, wenn der erste gedrückt würde, ergo meine testbox wird erzeugt, soweit gehts, aber unsichtbare buttons sind nunmal nicht praktisch, kann da wer kurz und bündig sagen was ich dafür machen muss?
danke
dergin

Hallo,

wie zb.:
TButton* testbox= new TButton(this);

Woher kommt denn die Klasse TButton? Aus irgendeiner Bibliothek? Wenn ja, aus welcher?

das problem ist, er wird nicht angezeigt, da nützt show und
ähnliches nix, wär ja auch zu einfach gewesen.

Bei GTK z.B. muss man ein Widget, das man erzeugt, noch einem Container hinzufügen (zusätzlich zu show). Irgendwie logisch, das Programm muss ja wissen, wo das Ding angezeigt werden muss.

Könnte das bei dir auch zutreffen?

hab einen button der diesen (testbox) erzeugt, und einen der
ihn löscht, (testbox->Free():wink: der zweite button bringt nur
dann keine fehlermeldung, wenn der erste gedrückt würde, ergo
meine testbox wird erzeugt, soweit gehts, aber unsichtbare
buttons sind nunmal nicht praktisch, kann da wer kurz und
bündig sagen was ich dafür machen muss?

Wenn es dir nur um die Anzeige geht, könntest du ihn auch von Anfang an erzeugen, nur am Anfang als unsichtbar markieren.

Grüße,
Moritz

Hi dergin,

hab C++ schon länger nicht mehr in der Hand gehabt, aber setze mal die Eigenschaft Parent des Buttons auf die Form (ich nehme an, das dürfte bei deneim Codeschnippsel this sein)

Gruß Michi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

zuerst unsichtbar machen und dann einblenden nützt mir nix, weil ich (fast) beliebig viele erzeugen möchte, und 100e buttons reintun is für nix, aber das mit parent muss ich noch genau schaun, wenn ich aber das erzeugen in OnFromCreate aufrufe, währe (this) die Form, und da solls sein. geht aber nicht.
naja, wers genau weiß bitte melden.
PS.: Verwende BCB6, hab vergessen das zu sagen, somit is klar wo TButton herkommt, zumindest für alle die BCB verwenden

Hi dergin,

hab auf die schnelle in BCB6 folgendes probiert

 TButton \*Btn1 = new TButton(this);
 Btn1-&gt:stuck\_out\_tongue\_winking\_eye:arent = this;

Der Button wird nach diesen Befehlen auf der Form angezeigt.

Gruß Michi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

danke danke, hätt ich selbst draufkommen könen g, solche antworten sin supa!
mfg
dergin