Главная страница
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.047 c
2-1142424719
HpeHoBuHa
2006-03-15 15:11
2006.04.02
MS Ёксель. Chart ы


1-1141287228
Cut'gun
2006-03-02 11:13
2006.04.02
Можно ли добавить строку в поток


2-1142597681
nyron
2006-03-17 15:14
2006.04.02
помогите плиз с excel


15-1141740830
sniknik
2006-03-07 17:13
2006.04.02
Программный рейд, striple... WinXP


15-1141884212
Ega23
2006-03-09 09:03
2006.04.02
С Днём рождения! 8 марта