Главная страница
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.048 c
14-1118135156
-=snoop=-
2005-06-07 13:05
2005.07.11
ADOConnect просит авторизации


3-1117566158
Сергей Яковлев
2005-05-31 23:02
2005.07.11
Подгонка ширины столбцов DBGrid


8-1109878979
capkoh
2005-03-03 22:42
2005.07.11
PNG на форме...


1-1119427254
mariya_mezenceva
2005-06-22 12:00
2005.07.11
ошибка при работе с excel из потока


1-1119345382
MegaVolt
2005-06-21 13:16
2005.07.11
CheckBox в ListView в виртуальном режиме, OwnerData:=true;