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

Вниз

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

Наверх





Память: 0.45 MB
Время: 0.044 c
4-1115969500
Валера
2005-05-13 11:31
2005.07.11
создание ярлыка


14-1118379507
DeadMeat
2005-06-10 08:58
2005.07.11
Прикольные головоломки


11-1102246493
Silver Dragon
2004-12-05 14:34
2005.07.11
onMouseLeave


14-1118834936
DVYdm
2005-06-15 15:28
2005.07.11
настройка Apache Server


4-1115303617
mrAld
2005-05-05 18:33
2005.07.11
Thread Kicker





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