Ich habe ein TPanel pnlMain, wo mehrere dynamische TPanels erstellt werden (und pnlMain ist ihr Parent) nach Benutzeraktionen, Datenvalidierungen, etc. Jedes Panel enthält ein farbiges Gitter voller Strings. Neben Panels gibt es einige Open-Source-Pfeilkomponenten und ein Bild. Ganzer Haufen Zeug.Erstellen Sie eine genaue Kopie von TPanel auf Delphi5
Jetzt möchte ich Benutzer in der Lage sein, dieses Panel zu drucken (ich fragte, wie es geht on this question), aber vor dem Drucken muss Benutzer mit einem neuen Formular präsentiert werden, das eine Kopie von pnlMain enthält. Auf diesem Formular muss der Benutzer einige Änderungen vornehmen, einige Komponenten hinzufügen und dann seine angepasste Kopie von pnlMain ausdrucken. Nach dem Drucken wird der Benutzer dieses Formular schließen und mit dem ursprünglichen pnlMain zum ursprünglichen Formular zurückkehren. Und - wie Sie sich denken können - original pnlMain muss intakt bleiben.
Also gibt es eine clevere Möglichkeit, ganze TPanel und seinen Inhalt zu kopieren? Ich weiß, dass ich manuell durch die pnlMain.Controls-Liste iterieren kann.
IT funktioniert zu einem gewissen Punkt - beim Lesen von TGroupBox mit THTMLCheckBox von TMS Kontrollen, habe ich "Klasse THTMLCheckBox nicht gefunden" in Zeile XMemoryStream.ReadComponent (Result); Einige andere Steuerelemente aus dem TMS-Paket werden jedoch korrekt gelesen. – smok1