Показать сообщение отдельно
  #3  
Старый 18.05.2017, 08:47
electrichesky electrichesky вне форума
Прохожий
 
Регистрация: 01.10.2013
Сообщения: 8
Версия Delphi: Delphi XE2
Репутация: 10
По умолчанию

Цитата:
Сообщение от 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
но получаю в этом случае кракозябру =( может это он и есть просто его расшифровать нужно? но у меня не получается это сделать.
Изображения
Тип файла: png mail.png (24.9 Кбайт, 10 просмотров)
Ответить с цитированием