Panel designen und vervielfältigen
-
Hallo zusammen,
ich habe eine Frage bezüglich C++ Builder. Wenn ich ein Fenster zur Entwurfszeit gestallte kann ich später von diesem Fenster beliebig viele Duplikate erzeugen. Mich interessiert ob ich nicht genau denselben Verhalten bei einem Panel erreichen kann? Das duplizierte Panel muss dabei alle VCL-Objekte wie zur Entwurfszeit beinhalten.Ist das überhaupt Möglich?
Ich bin für jede Bemerkung dankbar!
Mit freundlichen Grüßen
coder24h
-
Wenn du vom Panel ableitest wie das beim Formular geschieht, dann bestimmt...
-
brauchst du vielleicht sowas?
hiermit erstellst du 8x8 panels
vieleicht hift es dir ja weiter
greetz
//globale variable TPanel* Panels[MAXY][MAXX]; //array zum erstellen der Panels // maxy maxx sind constante variablen for (int y=0; y<MAXY; y++){ //Schleife, um Panels dynamisch zu erstellen for(int x=0; x<MAXX; x++){ Panels[y][x] = new TPanel(this); //erstellt ein neues Panel Panels[y][x]->Parent = this; //ordnet das Label dem Hauptformular zu Panels[y][x]->Top = 100 + 31*y; //Abstand zum oberen Fensterrand Panels[y][x]->Left = 250 + 31*x; //Abstand zum linken Fensterrand Panels[y][x]->Width = 30; //Panel-Breite Panels[y][x]->Height = 30; //Panel-Höhe Panels[y][x]->AutoSize = false; //feste Panel-Breite Panels[y][x]->Caption = IntToStr(y) + IntToStr(x); //Text ins Panelfeld Panels[y][x]->Color = clWhite; //Panel-FDarbe } }
-
Hallo
direkt TPanel dynamisch erstellen ist aber meistens ineffektiv, denn dann muß man ja die Buttons u.a. auch noch extra reinschreiben.
Der beste Weg ist wie von junix geschrieben einmal eine Klasse von TPanel zu erstellen, dort die Buttons fest integrieren und dann diese Klasse dynamisch zu instanzieren.
bis bald
akari
-
Klingt als wäre es Zeit für einen weiteren glorreichen Einsatz von TFrame.
Ich denke unterm Strich ist es das, was coder24h sucht.Schönes Wochenende zusammen.
-
Dankeschön für Ihre Anteilname!
Wenn ich eine Klasse von meinem Panel erzeuge ist die Komponente Panel unsichtbar, und die ganzen Objekte müssen manuell bzw. zur Laufzeit positioniert werden, gerade das wollte ich vermeiden da sehr viele unterschiedliche Komponenten integriert werden müssen.
Mit TFrame habe ich noch nicht gearbeitet, sollte man diese Komponente vermeiden?
-
TFrame bringt dieses Verhalten mit, ich bedanke mich bei allen!
*
Vielen Dank
coder24h*

-
Hallo
Wenn ich eine Klasse von meinem Panel erzeuge ist die Komponente Panel unsichtbar, und die ganzen Objekte müssen manuell bzw. zur Laufzeit positioniert werden
Soetwas kann man alles in der Klasse festlegen, da kommst du so oder so nicht drum, wenn du dynamisch arbeiten willst.
Und was da unsichtbar sein soll, weiß ich jetzt nicht.TFrame ist schon in Ordnung. Ich denke aber, für ein Panel alleine brauchst du kein Frame (wenn du nicht den OI zum Button-Positionierung nehmen willst).
Trame ist sinnvoll, wenn du ganze Fenster-Teile wiederverwenden willst.bis bald
akari