Главная страница
    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.45 MB
Время: 0.047 c
2-1142848604
KLAUS
2006-03-20 12:56
2006.04.02
OR


2-1142862337
Alex7
2006-03-20 16:45
2006.04.02
Операция :=


3-1139307056
kblc
2006-02-07 13:10
2006.04.02
Password on DB MS Access


2-1142413973
Id
2006-03-15 12:12
2006.04.02
Backup


2-1142694708
beglec
2006-03-18 18:11
2006.04.02
Не совсем корректная работа с потоком





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский