![]() |
AW: Parent Problem bei eigener Komponente
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:
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 |
AW: Parent Problem bei eigener Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
oki, du hast es richtig verstanden. Vielleicht versuche ich noch einmal den Grund für mein Vorhaben zu schildern. Ich möchte eine Komponente erstellen die wie eine Art Groupbox fungiert nur ohne einen Rahmen und mit einen farblichen Balken oberhalb. Ähnlich den MS Word Optionen (siehe Bild). Hierfür dachte ich, ich erstelle eine Komponente abgeleitet vom TCustomPanel welches ein weiteres Panel alTop hat und ein weiteres Panel alclint in dem alle weiteren Komponente zur Designzeit reingepackt werden können. Ich möchte dies für alle meine Kollegen so einfach und effizient wie möglich machen. Sie sollen sich nicht mehr um margins, font, farben etc. kümmern müssen sondern einfach nur ihre Komponenten mit Align = alTop hineinwerfen müssen. Ich hoffe ich konnte etwas mehr Licht ins dunkle meiner Idee bringen. ;-) Gruß Stegi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz