Hallo hronny,
oki hat unter
Zoomen des Inhaltes einer Scrollbox ein ähnliches Projekt beschrieben und ich habe auch etwas ähnliches umgesetzt
meine Turniersoftware.
Vielleicht hilft Dir da etwas als Anregung.
In jedem Fall musst Du die benötigten Klassen registrieren, damit sie zur Laufzeit anhand des Klassennamens erzeugt werden können.
Eine Copy&Paste habe ich nicht realisiert. Man kann meine Komonenten einfach aus einer Palette auf den Designer ziehen und dort positionieren. Technisch gesehen muss dabei die Drag-Funktion des Paletten-Objekts beendet werden, ein neues Objekt (der gleichen Klasse) erzeugt und auf den Designer gesetzt werden und dann Drag&Drop dieses neuen Objektes gestartet werden. Der Anwender merkt von diesen Änderungen natürlich nichts.
Alle meine Designer-Objekte habe ich von einer gemeinsamen Klasse abgeleitet, die u.a. das Verschieben auf dem Designer ermöglicht. Außerdem gibt es eine Eigenschaft, die angibt, ob die Komponente aktiviert oder Teil eines aktivierten Blockes ist. Diese Eigenschaften veranlassen bei Änderungen die Komponenten über ihre Settermethoden direkt, sich selbst neu zu zeichnen.
Insgesamt ist das alles eine gehörige Bastelei!
stahli