AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Sichtbare Komponenten dynamisch erzeugen ?

Ein Thema von mhuck · begonnen am 17. Jun 2005 · letzter Beitrag vom 17. Jun 2005
Antwort Antwort
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#1

Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 09:14
Hallo,

ich bin neu hier, programmiere hauptsächlich zum Spaß (Elektronik / Zusatzprogramme für Flugsimulation) und manchmal etwas für den Beruf (medizinische Physik).

Als ich jetzt zum ersten mal eine komplexere grafische Darstellung programmieren wollte, habe ich gemerkt, das ich mit dem Delphi-Editor für Formulare nicht weiterkomme; wenn ich z.B. sehr viele Panels anzeigen möchte, die dann hinterher alle Panel1, Panel2, Panel3 usw. heißen, wird es sehr unhandlich, hinterher auf die Eigenschaften dieser Panels zuzugreifen.
Was ich möchte, ist ein Array oder eine Liste dieser Komponenten.
Bestimmt ist das gar keine große Sache, aber mit objektorientierter Programmierung habe ich noch so meine Probleme...
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 09:38
Mach dir doch ein
array of TPanel .
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#3

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 09:52
Ne andere Möglichkeit zur Organisation wäre ne Delphi-Referenz durchsuchenObjectList. Wichtig is da die Property Delphi-Referenz durchsuchenOwnsobject, oder so ähnlich(hab damit (noch) nicht gearbeitet). Da Panels Komponenten sind, muss IMHO OwnsObject False sein und die Parent-property der Panels sollte dann Form1(oder was auch immer das Parent sein soll).

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#4

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 11:29
So einfach geht das, mit einem Array?
Also: MyPanels :Array[1..50] of TPanel; ?
Na, das versuch ich gleich mal !
Danke,
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#5

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 11:51
So, das krieg' ich schon nicht hin.

Delphi-Quellcode:
var Kaertchen : Array[1..100] of TPanel;
        ...
        Kaertchen[1].Create(Form1);
Das führt zu einem Ausnahmefehler; ich denke, da habe ich das Prinzip noch nicht ganz verstanden ...
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
runger
(Gast)

n/a Beiträge
 
#6

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 12:02
Hallo,

die müssen alle noch einen parent haben. Die wissen doch garnicht wo sie hingehören.
mypanel.parent:=self;

Rainer
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#7

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 12:03
Zitat von mhuck:
Delphi-Quellcode:
var Kaertchen : Array[1..100] of TPanel;
        ...
        Kaertchen[1].Create(Form1);
Du musst den Konstruktor von der Klasse aufrufen, also nicht von der Instanz
also:
Kartchen[1] := TPanel.Create(Form1);
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#8

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 12:18
Jetzt hoffentlich das letzte Problem: Ich sehe das Ding nicht!
Muß ich da irgendeine Methode aufrufen oder eine Eigenschaft setzen ?
Bisher habe ich top,left, height,width,color,visible und enabled gesetzt.
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 12:30
Zitat von mhuck:
Bisher habe ich top,left, height,width,color,visible und enabled gesetzt.
du musst noch Parent setzen, weil das Panel erst dann weiß wo es sich hinzeichnen soll.
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#10

Re: Sichtbare Komponenten dynamisch erzeugen ?

  Alt 17. Jun 2005, 14:02
Jaahh !
Danke!
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz