Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Вниз

Добавление рисунков в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.036 c
3-1103900005
qmikle
2004-12-24 17:53
2005.02.06
копирование *.gdb по алиасу BDE


1-1106730895
s_ilnar
2005-01-26 12:14
2005.02.06
Считывание файлов в несколько потоков


14-1106207109
1008
2005-01-20 10:45
2005.02.06
IBM подарила open-source 500 патентов


1-1106341498
Oddin
2005-01-22 00:04
2005.02.06
TrackBar


1-1106221314
Dimedrol
2005-01-20 14:41
2005.02.06
Как записать XLS-файл ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский