Главная страница
    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.45 MB
Время: 0.037 c
14-1118319350
stud
2005-06-09 16:15
2005.07.11
вывести мигающую картинку в ячейке dbgrid


14-1118758906
Soft
2005-06-14 18:21
2005.07.11
Как вам оформление и техническое решение?


1-1119456793
_ZeKa
2005-06-22 20:13
2005.07.11
Помогите с разработкой компонента!


3-1117517931
Max Zyuzin
2005-05-31 09:38
2005.07.11
ADO и обновление одной записи


14-1118497754
Alexander Panov
2005-06-11 17:49
2005.07.11
"Социократия" - реальность или утопия? Продолжение обсуждения.





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