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

Вниз

Как отобразить рисунок в обычном RichEdit?   Найти похожие ветки 

 
Denizzz   (2005-06-10 13:41) [0]

Как отобразить (вставить) рисунок (например смайлик) в обычном RichEdit?


 
Eraser ©   (2005-06-10 13:43) [1]

Denizzz   (10.06.05 13:41)

Стандартный не подойдёт. Использовать Rx/JvRichEdit.


 
Dimich1978   (2005-06-10 16:30) [2]

Вставляем битмап в RichEdit или RichTextBox.
Ниже представлен пример, который можно применить к 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 {pictdibitmap ";  
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;


 
Dimich1978   (2005-06-10 16:42) [3]

не пойму правда как из Имаге запихать по вышеописанном коду картинку...сто лет не программил и мне подскажите как сделать чтобы это все заработало, желательно не из имиджа, а из ИмагеЛиста.


 
Eraser ©   (2005-06-10 16:46) [4]

Dimich1978   (10.06.05 16:42) [3]

У меня данный код не работал... я не стал с этим заморачиваться и перешёл на JvRichEdit, там есть спец. ф-я.

Имаге запихать по вышеописанном коду картинку

Из имэджа получить "картинку" можно так Image.Picture.Bitmap.
В имэджлисте есть ф-я... по моему GetBitmap.



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

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

Наверх




Память: 0.47 MB
Время: 0.046 c
1-1118636023
Bagdat
2005-06-13 08:13
2005.07.11
Переход на следущую страницу в Excel-е


1-1118691709
Tigraman
2005-06-13 23:41
2005.07.11
Непрямоугольные края формы


3-1116872409
Noxa
2005-05-23 22:20
2005.07.11
Запуск БД на другом компьютере.


1-1118769268
sofs
2005-06-14 21:14
2005.07.11
кривые колонки в РичЭдит при большом рбъёме инфы


6-1112762797
Solidol
2005-04-06 08:46
2005.07.11
Прямой запуск файла из TWebBrowser1 ..