Вниз
Скачать: CL | DM;

Копировать и вставить несколько контролов   Найти похожие ветки 

 
DelphiLexx ©   (2006-08-15 16:26) [0]

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


 
tesseract ©   (2006-08-15 16:35) [1]

через clipboard?


 
clickmaker ©   (2006-08-15 17:10) [2]


> способы копирования в память выделенные эти контролы и вставки
> их в позицию курсора мыши.

вставки куда? в ту же прогу, откуда копируешь? тогда любой тебе удобный


 
DelphiLexx ©   (2006-08-15 17:10) [3]


> через clipboard?

Текст то ладно проблем нет, а вот контролы это проблема?
Примерчик не мог бы привести?


 
DelphiLexx ©   (2006-08-15 17:12) [4]


> вставки куда? в ту же прогу, откуда копируешь?

да в туже прогу.
Что значит фраза "тогда любой тебе удобный"


 
tesseract ©   (2006-08-15 17:22) [5]


> DelphiLexx ©   (15.08.06 17:10) [3]


копируй параметры контрола, как текст :-)  
Я где-то такое проворачивал.

можешь создать новый формат в буфере обмена :

UINT RegisterClipboardFormat(LPCTSTR lpszFormat);

lpszFormat - [in] Pointer to a null-terminated string that names the new format.
Return Value


 
clickmaker ©   (2006-08-15 17:23) [6]


> DelphiLexx ©   (15.08.06 17:12) [4]

а то и значит. Хозяин - барин то бишь. Если тебе наружу эти контролы выдавать не надо, тогда виндозный клипборд тебе ни к чему. Просто запоминаешь свойства, в новом месте создаешь новый контрол и копируешь свойства.
Еще рекомендую на метод Assign обратить внимание


 
Yanis ©   (2006-08-15 17:37) [7]

Делай как и IDE Delphi делает. Копируй "текстом" и "вставляй текстом". Из справки:function ComponentToString(Component: TComponent): string;

var
 BinStream:TMemoryStream;
 StrStream: TStringStream;
 s: string;
begin
 BinStream := TMemoryStream.Create;
 try
   StrStream := TStringStream.Create(s);
   try
     BinStream.WriteComponent(Component);
     BinStream.Seek(0, soFromBeginning);
     ObjectBinaryToText(BinStream, StrStream);
     StrStream.Seek(0, soFromBeginning);
     Result:= StrStream.DataString;
   finally
     StrStream.Free;

   end;
 finally
   BinStream.Free
 end;
end;

function StringToComponent(Value: string): TComponent;
var
 StrStream:TStringStream;
 BinStream: TMemoryStream;
begin
 StrStream := TStringStream.Create(Value);
 try
   BinStream := TMemoryStream.Create;
   try
     ObjectTextToBinary(StrStream, BinStream);
     BinStream.Seek(0, soFromBeginning);
     Result := BinStream.ReadComponent(nil);

   finally
     BinStream.Free;
   end;
 finally
   StrStream.Free;
 end;
end;



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

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.031 c
15-1157641033
Pazitron_Brain
2006-09-07 18:57
2006.09.24
Колледж + ВУЗ или среднее + ВУЗ


15-1157124935
AxelBlack
2006-09-01 19:35
2006.09.24
Программка для .tif


15-1156092579
Юрий Зотов
2006-08-20 20:49
2006.09.24
И снова о демократии на "Мастаках" о:)


11-1130323876
Reset
2005-10-26 14:51
2006.09.24
"Закрыть" MAINICON


2-1157015523
***mikle***
2006-08-31 13:12
2006.09.24
Создание динамических объектов




   Наверх