Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
3-1117522893
galexis
2005-05-31 11:01
2005.07.11
Ошибка "Разрушительный сбой"


4-1115996081
_Вован
2005-05-13 18:54
2005.07.11
Сообщение "Ошибка 1931..." при инсталляции моей проги :(


1-1119591049
Earth
2005-06-24 09:30
2005.07.11
Win


4-1116330535
Shuma
2005-05-17 15:48
2005.07.11
Виртуальный диск


14-1118160113
ArMellon
2005-06-07 20:01
2005.07.11
Песни Led Zeppelin




   Наверх