Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.08.19;
Скачать: CL | DM;

Вниз

Работа с буфером   Найти похожие ветки 

 
ILUT ©   (2007-06-06 16:16) [0]

Как сохранить PageControl со всеми дочерними компонентами, в том числе и те, которые расположены на TabSheet, в буфер обмена, а затем вставить из него.
Я делал это следующим образом:
копирование:
ClipBoard.SetComponent((WorkSpace.CompName as TControl))
вставка:
ClipBoard.GetComponent(self,CompName as TControl)
Он вставляет, но все компоненты расположеные на вкладках уничтожаются.
Помогите пожалуйста разрешить эту проблемку.
Заранее спасибо.


 
ILUT ©   (2007-06-07 11:43) [1]

Ну что неужели ни у кого из мастеров нет никаких идей!?!?!?!?!?!?


 
Сергей М. ©   (2007-06-07 13:50) [2]

Идея одна - искать ошибки в своем коде, ибо в коде метода TClipboard.GetComponent нет ничего похожего на "уничтожение".


 
ILUT ©   (2007-06-07 18:01) [3]

В методе SetComponent задается только один компонент, который копируется в буфер обмена. И при использовании GetComponent он естественно будет вставлять тока один компонент. И я не знаю как сделать так чтобы копировались сразу все компоненты, и поэтому прошу помощи.


 
Сергей М. ©   (2007-06-08 08:56) [4]


> В методе SetComponent задается только один компонент, который
> копируется в буфер обмена.


Копируется все дерево компонентов, корнем которого является копируемый компонент.


> при использовании GetComponent он естественно будет вставлять
> тока один компонент.


Аналогично при вставке - вставляется все скопированное в буфер обмена дерево компонентов.

Убедись сам:

1. Брось на форму панель, на панель брось кнопку, выдели панель, скопируй ее в буфер обмена.

2. Открой просмотрщик буфера обмена, убедись что в буфере присутствует и панель и кнопка в ее "составе".

3. Выдели форму, выполни вставку из буфера обмена, убедись что на форме при этом была создана копия панели вместе с копией кнопки на ней.


 
Kolan ©   (2007-06-08 16:49) [5]

> Ну что неужели ни у кого из мастеров нет никаких идей

Есть — не соранять TPageControl.
Используй Model-View-Controller и сохроняй Model. То есть создай необходимые объекты предметной области. Отображай их пользователю с помощью TPageControle и всего остального. А сохраняй сами объекты предметной области, а не их отображение.

Зы
Может я не прав, может ты делаешь дизайнер форм например&#133 хз&#133


 
ILUT ©   (2007-06-09 11:29) [6]

Да я делаю конструктор формы и это не подойдет.


 
Сергей М. ©   (2007-06-09 11:51) [7]


> я делаю конструктор формы


Новый велосипед ?)

А чем этот не угодил

http://www.dream-com.com/designer.html

?


 
ILUT ©   (2007-06-09 19:37) [8]


> Новый велосипед ?)


А как ты догадался, что я собираю новый BMX?


> А чем этот не угодил


В программе количество создаваемых компонентов может быть очень большим, ограничений нет, тока ресурсами ПК )).
Также собираюсь сделать историю.
И если я правильно понял идею, то придется менять алгоритм программы довольно сильно.
Но мож я не правильно понял


 
ILUT ©   (2007-06-09 22:24) [9]


> А чем этот не угодил

Не заходил я по ссылке ))))
Просто это у меня дипломное задание, ток не совсем то что там. Ладно, это усе фдлуд.



Страницы: 1 вся ветка

Текущий архив: 2007.08.19;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
15-1185014843
Kostafey
2007-07-21 14:47
2007.08.19
С днем рождения ! 21 июля


15-1184940907
VirEx
2007-07-20 18:15
2007.08.19
посоветуйте кондиционер


1-1181322952
dRake
2007-06-08 21:15
2007.08.19
Средство для сбора дебаг-инфы после падения программы (+)


3-1177999034
Nemec
2007-05-01 09:57
2007.08.19
TService и доступ к базе данных


15-1184704011
SkYmAn
2007-07-18 00:26
2007.08.19
Установка компонентов