Я начинаю изучать Delphi. Поэтому я решил написать приложение, как MS Excel с нуля. В новой форме Form1 я поместил компонент TPageControl, содержащий только 1 страницу. На этой странице я поместил TAdvStringGrid и TPanel с некоторыми кнопками (button1, button2) и меню Popup1 для определения некоторых действий в сетке, таких как копирование ячейки, копирование строки, удаление строки и т. Д. Для этого StringGrid также: Я определил некоторые свойства, такие как цвета, шрифты и т. Д. Я добавил панель инструментов с кнопкой в основную форму, чтобы добавить дополнительные страницы в PageControl. Метод OnClick этой кнопки определяет два действия:
1) добавить новую Page2 в PageControl, и
2) добавить новую StringGrid в новую созданную Page2.
Эта новая (определенная во время выполнения) StringGrid, созданная на новой странице Tpagecontrol, должна наследовать (получать, копировать, клонировать, дублировать) свойства и методы родительского элемента StringGrid, уже определенные на первой странице во время разработки, и должна быть возможность вызвать меню PopUp1, как родительский элемент StringGrid. Как мы это делаем?
Вначале я подумал, что мне просто нужно скопировать свойства StringGrid с помощью assing (), но при использовании этого подхода всплывающее меню не появляется, если щелкнуть правой кнопкой мыши новый StringGrid ... и кнопки (button1). и button2) Form1 работают только с первым StringGrid, но не с новым добавленным. Я где-то читал, что для решения этой проблемы я мог бы дублировать компонент StringGrid, используя запись и чтение TMemoryStream (сохранить родительскую строковую сетку в потоке памяти, создать новую строковую сетку и затем прочитать этот поток памяти в новой созданной строковой сетке) так я и сделал, но когда программа выполняет этот метод клонирования компонента, я получаю ошибку во время выполнения. : - (
Я тщательно проверил справку. Ничего не найдено по этой теме. Кажется, что нет какой-либо библиотеки компонентов Delphi или сторонних компонентов, которые бы справились с такой задачей. Кто-нибудь может помочь, пожалуйста? : О)