У меня есть TPanel pnlMain, где создается несколько динамических TPanel (и pnlMain является их Родителем) в соответствии с действиями пользователя, проверкой данных и т. Д. Каждая панель содержит одну цветную сетку, полную строк. Помимо панелей, есть несколько компонентов стрелок с открытым исходным кодом и изображение. Целая куча вещей.
Теперь я хочу, чтобы пользователь мог печатать эту панель (я спросил, как это сделать по этому вопросу ), но перед печатью пользователю должна быть представлена новая форма, содержащая копию pnlMain. В этой форме пользователь должен внести некоторые изменения, добавить несколько компонентов, а затем распечатать свою настроенную копию pnlMain. После печати пользователь закроет эту форму и вернется к исходной форме с оригинальным pnlMain. И, как вы можете догадаться, оригинальный pnlMain должен остаться без изменений.
Так есть ли какой-нибудь умный способ скопировать весь TPanel и его содержимое? Я знаю, что могу сделать это вручную, перебирая список pnlMain.Controls.