Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.13;
Скачать: CL | DM;

Вниз

Помогите вставить картинку в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
3-38055
BlackTiger
2003-01-26 20:13
2003.02.13
Как добавить в ExpressQuantumGrid4 сумму по колонке кодом?


1-38366
Leo_pr
2003-02-04 10:20
2003.02.13
Диалог !!!


1-38197
Vampire
2003-02-04 09:38
2003.02.13
Поисх файлов


14-38500
Timofey
2003-01-27 22:11
2003.02.13
Как можно сделать фон вокруг значков рабочего стола прозрачным?


1-38327
sagchat
2003-01-31 13:41
2003.02.13
Как при развертывании формы во весь экран, разместить memo