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

Вниз

Помогите вставить картинку в RxRichEdit   Найти похожие ветки 

 
Sharik_212   (2003-01-30 17:55) [0]

Хочется сделать примерно так, как это делается в аське. Пишу:
var
TempStream:TStream;
.....
Image1.Picture.Bitmap.SaveToStream(TempStream);
RxRichEdit1.Lines.LoadFromStream(TempStream);
а она ругается. Я понимаю, что надо проинициализировать TempStream, но не знаю как. Подскажите плиз.


 
Sharik_212   (2003-01-30 18:47) [1]

Мастера! Никто не может подсказать?.....
Может, я совсем не так делаю?


 
Chubais   (2003-01-30 18:56) [2]


> проинициализировать TempStream

Create?


 
Sharik_212   (2003-01-30 19:08) [3]

Create тоже делаю, но почему-то все-равно не всталяет картинку (да и текст тоже).


 
SeNtiMeL   (2003-02-02 01:56) [4]

Смотри:

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 {\pict\dibitmap ";
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;

Потом делается все очень просто:
//Определяем позицию для вставки
RxRichEdit1.SelStart:=12;
RxRichEdit1.SelLength:=1;
//Загружаем картинку
fl := TStringStream.Create(BitmapToRTF(bm));
RxRichEdit1.PlainText := False;
RxRichEdit1.StreamMode := [smSelection];
//Вставляем !!!
RxRichEdit1.Lines.LoadFromStream(fl);
fl.Free;


 
Sharik_212   (2003-02-04 19:19) [5]

Огромное спасибо, действительно заработало!



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

Форум: "Основная";
Текущий архив: 2003.02.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
14-38513
Anatoly Podgoretsky
2003-01-28 07:35
2003.02.13
Именинники 28 января


1-38236
Sergeyy
2003-02-05 12:15
2003.02.13
всплывающая подсказка


1-38255
AlexanderSK
2003-02-05 15:29
2003.02.13
Передача и использование объектов а Dll


1-38265
oss
2003-02-05 14:57
2003.02.13
список приторов


1-38293
den_dnepr
2003-02-05 13:56
2003.02.13
ФОКУС





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