Einzelnen Beitrag anzeigen

oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Parent Problem bei eigener Komponente

  Alt 18. Mär 2015, 10:17
Hallo Himitsu,

ich glaube, wir sind uns im Grunde einig, verstehen aber vielleicht die Aufgabenstellung unterschiedlich. Ich vermute mal, du meinst ausschließlich das Problem, wie man eine Komponente in einem eigenen Panel (MyPanel) zur Erstellungszeit einfügt. Dafür reicht dein Code. Ich habe den Threadersteller aber so verstanden, dass er zur Designzeit auf dem erstellten Panel (Panel1 und nicht MyPanel) weitere Komponenten platzieren will. Dazu braucht er aber Zugriff auf das eingebettete Panel1 zur Designzeit. Das ist nur möglich, wenn er das eingebettete Panel1 in die Liste Components des Formulars packt. Erst dann kann er zur Designzeit weitere Komponenten in Panel1 platzieren.
Zitat:
Jetzt möchte ich zur Designzeit in dem Dialog weitere Komponenten (z.B. Panel) in das Panel (Pan2) meiner Komponente platzieren. Ich kann zwar ein Panel unter der Komponente hängen, jedoch ist der Parent nicht mein gewünschtes Panel Pan2 sonder die Komponente selbst.
Ich denke, an der Stelle reden wir aneinander vorbei.

Mir erschließt sich nicht wirklich, warum er nicht zur Designzeit auch Panel1 in MyPanel platziert und das unbedingt innerhalb der Kompo passieren muss. Egal, mit dem Zugriff auf Panel1 ergeben sich aber weitere Probleme wie:
- Panel1 kann somit auch zur Designzeit entfernt werden,
- Liegt MyPanel nicht auf der Form, sondern auf einem weiteren Panel reicht self.Owner.InsertComponent nicht aus. Es muss das Formular gesucht werden. Das kann man sicher über eine rekursive Funktion durch alle Owner mit Rückgabe des "Letzten" lösen.
- Panel1 kann über den OI zur Designzeit verändert werden (Position, Größe etc.). Was soll statisch bleiben? Hier müssten dann diverse Methoden überladen werden um diese Änderungen zu verhindern.

Und so gibt es bestimmt noch Dinge an die ich nicht gedacht habe, weis ja auch nicht welche konkreten Eigenschaften die Komponente haben soll. Wurde nicht genannt.

Grundsätzlich gehe ich aber davon aus, dass die grundlegende Aufgabenstellung ist, Wie kann ich in meiner Komponente ein Panel integrieten, in das ich zur Designzeit weitere Komponenten legen kann.


Gruß oki
42
  Mit Zitat antworten Zitat