Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.08.19;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.042 c
15-1184780234
kami
2007-07-18 21:37
2007.08.19
Перенос системы с Raid массива на 1 винт


3-1178306803
IMHO
2007-05-04 23:26
2007.08.19
Delphi and ESE


15-1185259056
jack128_
2007-07-24 10:37
2007.08.19
Демки


15-1184881177
Германн
2007-07-20 01:39
2007.08.19
Из СИ в Паскаль


2-1184900752
vegarulez
2007-07-20 07:05
2007.08.19
Вопрос: Как привязать процедуру (click) к созданной кнопке?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский