Главная страница
    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.009 c
4-38652
ZeaLoT
2002-12-30 12:05
2003.02.13
Fullscreen


6-38405
Крокус
2002-12-05 12:12
2003.02.13
удаленное соединение


1-38288
RayRom
2003-02-05 18:47
2003.02.13
ValueList филтрация ввода на поле!!!


6-38416
Sonick
2002-12-23 13:25
2003.02.13
Help plizzz?


1-38154
maxim2
2003-02-04 08:55
2003.02.13
Как засунуть ролик Flash в EXE





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