Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

Можно ли сделать Append форматированого текста в Richedit?   Найти похожие ветки 

 
Cut'gun ©   (2006-03-01 13:15) [0]

Здраствуйте!
Столкнулся с такой проблемой: В Richeidt для получения форматированого текста имеется метод LoadFromStream который заменяет всё содержимое на содержимое потока.  Можно ли сделать каким либо образом Append форматированого текста к уже имеющемуся?
Я пока нашёл решение с использованием 2ух Richedit и Clipboard, как приёмника текста. Может кто сталкивался и знает лучшее решение?


 
MBo ©   (2006-03-01 13:36) [1]

Через EM_STREAMIN/EM_STREAMOUT


 
Cut'gun ©   (2006-03-01 13:58) [2]

Большое спасибо... прошу прощения за назаойливость, нельзя привести пример кода RichEdit.Perform() не совсем понимаю как совместить   EM_STREAMIN/EM_STREAMOUT с флагом SFF_SELECTION и каким должен быть lParam. Заранее большое спасибо.


 
MBo ©   (2006-03-01 14:06) [3]

procedure TForm1.FormCreate(Sender: TObject);
begin
 richedit1.Lines.Text := "111222333444";
 richedit2.Lines.Text := "aaabbbccc";
 richedit2.selstart := 3;
 richedit2.sellength := 3;
 richedit1.selstart := 3;
 richedit1.sellength := 3;
 richedit2.SelAttributes.Size := 16;
 richedit2.SelAttributes.Color := clBlue;
end;

function EditStreamInCallback(dwCookie: Longint; pbBuff: PByte;
 cb: Longint; var pcb: Longint): DWORD; stdcall;
begin
 pcb := TStream(dwCookie).Read(pbBuff^, cb);
 Result := 0; // Ord(pcb <> cb);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 ms: TMemoryStream;
 est: TEditStream;
begin
 Richedit2.PlainText := False;
 ms := TMemoryStream.Create;
 Richedit2.Lines.SaveToStream(ms);
 ms.Position := 0;
 est.dwCookie := Integer(ms);
 est.dwError := 0;
 est.pfnCallback := @EditStreamInCallBack;
 SendMessage(RichEdit1.Handle, EM_STREAMIN, SF_RTF or SFF_SELECTION,
   LPARAM(@est));
 ms.Free;
end;



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

Текущий архив: 2006.04.02;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
3-1139306548
Paha
2006-02-07 13:02
2006.04.02
изменить запущенного проекта из PROGRAM в v$session


2-1142873793
mrAndersen
2006-03-20 19:56
2006.04.02
Активизация после нажатия на ENTER


9-1127579262
Kobik
2005-09-24 20:27
2006.04.02
Пересечение отрезков.


2-1142850343
Новичоккк
2006-03-20 13:25
2006.04.02
Работа с буффером


15-1141746878
Pazitron_Brain
2006-03-07 18:54
2006.04.02
В чем проблема?