Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копировать и вставить несколько контролов 
:(
    Опции темы
Delphist
  Дата 15.8.2006, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Есть собственный редактор в котором можно размещать контролы наследуемые от TPanel подскажите, пожалуйста, способы копирования в память выделенные эти контролы и вставки их в позицию курсора мыши.


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Yanis
Дата 15.8.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



А ты сделай как в Delphi - переводи компоненты в текст.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Snowy
Дата 15.8.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Копировать через буфер обмена или как?
PM MAIL   Вверх
Alexeis
Дата 15.8.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата(Delphist @  15.8.2006,  15:28 Найти цитируемый пост)
 способы копирования в память выделенные эти контролы и вставки их в позицию курсора мыши.

Самый лучший вариант, сохранить все свойства все поля данных и дргую информацию в некоторую структуру (или стек), тип которой будет менятся от класса к классу, поскольку встроенные средства позволяют копировать только published свойства, то ручного переписывания полей не избежать, а вставка посути пересоздание комонента и запись в него нужных свойств.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Yanis
Дата 15.8.2006, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Не понимаю чем не нравятся стандартные методы?


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Delphist
  Дата 16.8.2006, 07:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Цитата(Yanis @ 15.8.2006,  17:33)
Не понимаю чем не нравятся стандартные методы?

Какие?


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Snowy
Дата 16.8.2006, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Код

with TPanel.Create(Self) do begin
  Assign(Panel1);
  Top := NewY; Left := NewX;
  Show;
end;

Также посмотри справку по TClipBoard.GetComponent, TClipBoard.SetComponent 
PM MAIL   Вверх
Yanis
Дата 16.8.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(Delphist @  16.8.2006,  08:42 Найти цитируемый пост)
Какие? 

Я тебе уже вчера ответил! Если уж имеешь дурную привычку постить свои вопросы на всех форумах, которые под руку попадуться, то следует проверять ответы на них smile
http://www.delphimaster.ru/cgi-bin/forum.p...5644817&n=0


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Snowy
Дата 16.8.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Да, что вы всё жирафа изобретаете.
Ничего не нужно сериализовать. Всё уже есть в дельфях.
Вот пример.
Код

uses Clipbrd;

var PnlNum: integer = 1;

procedure TForm1.Panel1Click(Sender: TObject);
begin
  Clipboard.SetComponent(Panel1);
end;

procedure TForm1.FormClick(Sender: TObject);
var
  pnl: TPanel;
begin
  pnl := TPanel(Clipboard.GetComponent(Self, Self));
  if pnl <> nil then begin
    inc(PnlNum);
    pnl.Name := 'Panel' + IntToStr(PnlNum);
    pnl.Left := Mouse.CursorPos.X - Left;
    pnl.Top := Mouse.CursorPos.Y - Top;
  end;
end;

initialization
  RegisterClass(TPanel);

end.

На форму бросить панель и создать события OnClic у панели и формы.
Нажать на панель - копируем её в клипборд.
Нажать на форму - вставить в место нажатия.

PM MAIL   Вверх
Yanis
Дата 16.8.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Snowy
Это немного проще чем с тем кодом который я привёл smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Snowy
Дата 16.8.2006, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 192
Всего: 484



Ну так это через клипборд и в позицию мыши.
А без него вообще Assing'ом копируется.
PM MAIL   Вверх
Delphist
  Дата 16.8.2006, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphist Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2145
Регистрация: 3.2.2004
Где: всегда в сети

Репутация: 2
Всего: 3



Всем спасибо за участие. Я все же выбрал способ сохранения скрипт-компоненты  в буфер, а потом уж при вставке его обратный парсинг. SetComponent и GetComponent не подходят т.к. компоненты у меня связаны хитрым образом.

Специально для Yanis'a. Верешь постить свои вопросы это не дурная привычка. Живой пример вопрос
заданный на DelphiMastr'e "Form To EMF даже, если компоненты заходят за грань формы" имеет 0 - ответов, а на других форумах отвечают потихонечку. Бывает и наооборот, что на www.delphimaster'e.ru дают ответ, а на других нет. Тем самым Yanis я получаю ответ на свой вопрос гораздо быстрей, а в этом и есть фишка форумов. smile 

Это сообщение отредактировал(а) Delphist - 16.8.2006, 14:37


--------------------
ProcessInfo 1-ая моя программа (аналог spyxx.exe с гораздо большим функц-ом - внедрение dll в адр. простр. процесса, перехват API-функций, разбор приложения на окна мн.др).
Когда-то давным-давно использовал это...
PM MAIL ICQ   Вверх
Yanis
Дата 16.8.2006, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Delphist
Это противоречит моему восприятию действительности smile


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0635 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.