Цитата:
Сообщение от NumLock
Clipboard.AsText легко изменит текст в буфере обмена.
|
дело в том что мне нужно редактировать внутреннюю разметку...
не знаю как правильно назвать её...
в общем когда допустим копирую текст где изменён размер и цвет.
не знаю как получить его... пробовал вот так:
Код:
//копирую текст в Buffer
if OpenClipboard(0) then
begin
BufferData:=GetClipboardData(CF_UNICODDETEXT);
try
if BufferData<>0 then Buffer:=PChar(GlobalLock(BufferData)) else Buffer:='';
finally
if BufferData<>0 then GlobalUnlock(BufferData);
end;
CloseClipboard;
end;
US1 := Buffer;
Memo1.Clear;
MStream := TMemoryStream.Create;
MStream.Write(Putf8String(US1)^, Length(US1));
MStream.SaveToFile('mytext.dat');
// сохраняю его в mytext.dat
Memo1.Text := US1;
//и вывожу его в мемо
MStream.Free;
но таким образом тоже видно только видимый текст...
хотя в буфере текст с разметкой =(
пробовал ещё вместо CF_UNICODDETEXT указать CF_TEXT
но получаю в этом случае кракозябру =( может это он и есть просто его расшифровать нужно? но у меня не получается это сделать.