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

Вниз

Добавление рисунков в TRxRichEdit   Найти похожие ветки 

 
Eraser ©   (2005-01-18 22:17) [0]

Проблема такая. Как в TRxRichEdit (не путать с TRichEdit) добавить графику (смайлики) без использования диалога вставки OLE объектов и желательно без использования буфера обмена?

И ещё вопрос ;-)

Допустим у меня имеется вставленный в TRxRichEdit рисунок (смайлик). Как мне его отличить от других объектов (можно ли присваивать объектам имя?)?

Кстати в ICQ используется именно RichEdit2.0, т.е. тот же оъект что и TRxRichEdit.


 
Eraser ©   (2005-01-19 23:42) [1]

Ниже представлен пример, который можно применить к RxRichEdit, RichEditEx, RichEdit98, и Microsoft RichTextBox (поставляемый с VB5+) не прибегая к использованию буфера обмена или OLE:

function BitmapToRTF(pict: TBitmap): string;
var
 bi,bb,rtf: string;
 bis,bbs: Cardinal;
 achar: ShortString;
 hexpict: string;
 I: Integer;
begin
 GetDIBSizes(pict.Handle,bis,bbs);
 SetLength(bi,bis);
 SetLength(bb,bbs);
 GetDIB(pict.Handle,pict.Palette,PChar(bi)^,PChar(bb)^);
 rtf := "{\rtf1 {\pict\dibitmap ";
 SetLength(hexpict,(Length(bb) + Length(bi)) * 2);
 I := 2;
 for bis := 1 to Length(bi) do
 begin
   achar := Format("%x",[Integer(bi[bis])]);
   if Length(achar) = 1 then
     achar := "0" + achar;
   hexpict[I-1] := achar[1];
   hexpict[I] := achar[2];
   Inc(I,2);
 end;
 for bbs := 1 to Length(bb) do
 begin
   achar := Format("%x",[Integer(bb[bbs])]);
   if Length(achar) = 1 then
     achar := "0" + achar;
   hexpict[I-1] := achar[1];
   hexpict[I] := achar[2];
   Inc(I,2);
 end;
 rtf := rtf + hexpict + " }}";
 Result := rtf;
end;

А вот пример использования этой функции:

{SS это TStringStream, RE это TRxRichEdit, а BMP это TBitmap содержащий картинку.}
SS := TStringStream.Create(BitmapToRTF(BMP));
RE.PlainText := False;
RE.StreamMode := [smSelection];
RE.Lines.LoadFromStream(SS);
SS.Free;

не работает ;-(


 
Eraser ©   (2005-01-20 02:03) [2]

Установил JVCL!!! Чуть не ох...л. Каким я раньше был дебилом...
;-(((


 
ЮЮ ©   (2005-01-20 08:49) [3]

...insert a Smiley image into a TRxRichEdit?
http://www.swissdelphicenter.ch/en/showcode.php?id=1147

...insert a image into a TRxRichEdit?  
http://www.swissdelphicenter.ch/en/showcode.php?id=1332


 
Eraser ©   (2005-01-20 18:15) [4]

ЮЮ ©
Спасибо!



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

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

Наверх




Память: 0.48 MB
Время: 0.299 c
14-1106121963
syte_ser78
2005-01-19 11:06
2005.02.06
Пример с книги Delphi 3 не работает на Delphi 6


3-1104821945
Нуждающийся в помощи
2005-01-04 09:59
2005.02.06
Использование IB в глобальных сетях


4-1103014178
Delphi5.01
2004-12-14 11:49
2005.02.06
хочу сделать у этой формы тень


3-1104996289
atruhin
2005-01-06 10:24
2005.02.06
Переход от IB 5.6 на FireBird 1.5


1-1105224751
Enabled
2005-01-09 01:52
2005.02.06
Как получить TShiftState который в OnMouseDown используется ?