Текущий архив: 2006.09.24;
Скачать: 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 вся ветка
Текущий архив: 2006.09.24;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.05 c