Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - von form1(button) in form2 komponenten createn?
ALF - Mo 28.09.09 20:37
Titel: von form1(button) in form2 komponenten createn?
Hi,
ich möchte über den button in der form1, auf der form2 zur laufzeit z.B. ne groubbox einfügen
und in der groubox müssen auch noch label, gauge mit rein!
Habe aber nicht den geringsten Ansatz wie ich das machen soll!
(ist lange her das ich in delphi gecodet habe) :oops:
das ganze soll später über dragdrop funktionieren !
aber erst mal zum Anfang über ein button :wink:
Gruss Alf
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 28.09.2009 um 21:52
HelgeLange - Mo 28.09.09 20:45
Delphi-Quelltext
1: 2: 3: 4:
| begin AGroupBox := TGroupBox.Create(Form2); TLabel.Create(AGroupBox); end; |
Das sollte Dir einen Ansatz geben :)
anbest - Mo 28.09.09 20:58
Delphi-Quelltext
1: 2:
| var AGroupBox: TGroupBox; |
fehlte. ^^
ALF - Mo 28.09.09 21:00
thx für schnelle Antwort.
muss ich aber nicht erst AgroupBox in der Form1 definieren!!
"undefinierter Bezeichner 'AGroupBox' "
wenn es doch so einfach währe :cry:
Alf
anbest - Mo 28.09.09 21:02
Hab ich eben doch geschrieben... ;-)
Delphi-Quelltext
1: 2:
| var AGroupBox: TGroupBox; |
ALF - Mo 28.09.09 21:10
habe ich doch zu spät gesehen :wink:
aber irgendwas fehlt noch mh....
wenn ich alleas starte und den button klicke ist in der form2 keine box zusehen, auch mit AgroupBox.Show
nicht.
noch nen tipp für mich!!??
Gruss
ALF
Xentar - Mo 28.09.09 21:17
Delphi-Quelltext
1:
| AGroupBox.Parent := Form2; |
?
anbest - Mo 28.09.09 21:19
Delphi-Quelltext
1: 2: 3:
| AGroupBox.Left := 8; AGroupBox.Top := 8; AGroupBox.Show; |
?
ALF - Mo 28.09.09 21:22
thx funct
wusste ich mal mit parent, ist aber lange her :(
gruss alf
HelgeLange - Mo 28.09.09 21:52
Parent ist verantwortlich für zeichnen eines Controls, Owner für das zerstören :)
ALF - Mo 28.09.09 23:25
ha,
schon kommt das nächste problem!!
da ich von der einen komponente zur laufzeit mehrere erstellen muss funct die sache doch nicht so leicht. z.B. combobox1 combobox2 usw.
Brauche also doch mehr infos, wie man das macht :oops:
gruss
Alf
Xentar - Mo 28.09.09 23:32
Bist du sicher, dass dein Konzept stimmt..?
Wieso ausgerechnet, erst zur Laufzeit?
Zur Not alles auf ein PageControl packen, HideTabs, und die Seite umschalten, oder ähnliches.
ALF - Mo 28.09.09 23:54
kurz info zu meinem projekt:
wird ein player
kommentar kenn ich: "gibt doch schon so viele!"
Aufbau:
-form1 ist das grundgerüst
- mit add füge ich form2=player1, form3=player2 usw ein funct auch schon :)
- mit add füge ich nun in den jeweiligen player die abzuspielenden dateien ein
das soll nun so ausehen
für jeden titel muss ich eine komponente wie TGauge, TSlidbar einfügen
in Tgauge steht dann der titelname drin, Tslidbar ist für die grundeinstellung der lautstärke des jeweiligen Titels usw.
habe das auch schon mal gesehen bzw gelesen wie das mit der ein und der selben componenten geht weis aber leider nicht mehr wo!??
hoffe das mein problem damit erkannt ist!
Gruss Alf
Xentar - Di 29.09.09 00:04
Na, wenn das so ist, kann ich dir Frames / TFrame empfehlen.
Außerdem: Wenn du eine Komponente händisch erzeugst, kannst du natürlich auch ganz viele per Schleife erzeugen. Reicht das, als Denkanstoß? ;)
Narses - Di 29.09.09 00:12
Moin!
Warum sollte man denn bei einem Player für jeden Track ein neues Formular/Komponente/etc anlegen müssen? :shock: Hört sich eher so an, als hätte das Konzept einen Knacks... :? :gruebel:
cu
Narses
ALF - Di 29.09.09 00:28
währe schön wenn die info reicht.
problem ist immer noch wie ich zb. gauge1 - gauge(x) erstelle wenn ich nicht weis
wie viele erstellt werden müssen
das grundgerüst haben mir die anderen ja schon geposted, gilt aber ebend nur für einmaliges erstellen der komponente.
wie gesagt habe ich das schon mal gelesen find es aber nicht mehr!
| Zitat: |
Narses
Warum sollte man denn bei einem Player für jeden Track ein neues Formular/Komponente/etc anlegen müssen?
|
nicht für jeden track einen player!!!
es werden 1-x player benötigt. und in diesen playern werden die tracks eingefügt.
das ausehen soll aber ebend mit gauge und slidebar für jeden track sein.
omg alles so kompliziert :cry:
gruss alf
HelgeLange - Di 29.09.09 02:41
uhm... warum beschäftigst Du Dich mit etwas kompliziertem wie einem Player, wenn Du nicht mal die grundkenntnisse in Delphi hast?
Such mal nach Schleifenprogrammierung im netz.. Oder am besten einen ganzen Grundkurs in Delphi :)
Wir sitzen ja nicht hier, um Dir Delphi beizubringen, sondern bei Problemen zu helfen : meine Lösung für Dein problem ist ganz klar : lern Delphi grundkenntnisse :)
(no offense)
ALF - Di 29.09.09 22:17
Die Grundkentnisse durften mir ja wohl klar sein!
Sowas wie, eine Komponente mehrmals zur Laufzeit zu erstellen, lernst du in keinem Grundkurs!
Steht noch nicht mal im Delphibuch bzw. in irgeneiner Hilfe!!
Es geht nicht um den Player sondern um eine komponente die zur laufzeit mehrmals erzeugt werden muss.
Dein Argument ist sicher nicht richtig, es sei, du kannst mir sagen wo ich das im DelphiHandbuch oder Hilfe finde!?
Wenn alles so einfach währe, gäbe es kein Forum, und Du könntest mich nicht runter machen :oops:
Wenn es Dir hilft ok. Mir gibt dies aber keine Hilfe weder ein Denkanstoss!
Gruss ALF
Xentar - Di 29.09.09 22:50
ALF hat folgendes geschrieben : |
problem ist immer noch wie ich zb. gauge1 - gauge(x) erstelle wenn ich nicht weis
wie viele erstellt werden müssen |
Wenn DU das vorher nicht weiß - woher soll es dann dein Programm wissen? Raten? Das geht mit random(123456789) ;)
Und wenn dir nun einfällt, dass du es ja doch weißt, hier nochmal ein Denkanstoß:
- Array of TSomething
- Schleife
- MyArray[i] := TSomething.Create(foo);
ist doch auch nichts anderes, als mit einer Komponente?
HelgeLange - Di 29.09.09 23:15
Wenn Du Dir Delphi (oder auch irgendeine andere Programmiersprache) anschaust, dann fällt Dir schnell auf, dass es nur ein paar Befehle gibt, mit denen man alles machen kann. Denkst Du, der Compiler kennt TForm oder TGauge oder TLabel ?
Programmieren ist der logische Einsatz dieses kleinen Befehlssatzes in verschiedenen Kombinationen um zum gewünschtem Ergebnis zu kommen.
ich habe lange nicht gezählt, aber ich denke, Assembler kommt mit unter 200 Befehlen aus und jedes Windows Programm lässt sich in diese 200 Befehle zerlegen.
Eine Schleife ist einer dieser Befehle, den man so oder so kennen muss und damit umgehen. Ohne Schleifen programmieren zu können kommt man nicht aus.
Also es bleibt dabei, Grundkurs Delphi, dort anschauen Schleifen und dynamische Arrays (da Du ja die Anzahl Deiner TGauge ned kennst). Mit diesen beiden Sachen kannst Du genau das programmieren, was Du willst.
Ich könnte Dir den Code auch in 30 sekunden schreiben, nur hat das ja keinen Lerneffekt für Dich. :D
ALF - Di 29.09.09 23:56
THX; ist doch ein richtiger Denkanstoss !! :wink:
Aber wie es nun mal so im Leben ist: "auf die einfachsten Dinge kommt man nicht",
da nützt auch kein Delphibuch!!!sondern: nur prima user im Forum :D
Gruss ALF
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!