Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Рисунок в TRichEdit


Автор: Budy 19.10.2004, 14:48
:привет
Как мне разместить Рисунок в TRichEdit?
заранее благодарю

Автор: ~FoX~ 19.10.2004, 14:57
http://forum.vingrad.ru/index.php?showtopic=31689&unread=1&hl=richedit

Автор: Полудненко Олег 19.10.2004, 16:26
Тут лучше юзать TRichEdit из RXLib. Там всё просто, а вот в обычном RichEdit'e помоем никак нельзя.

Автор: Budy 19.10.2004, 17:21
Что за TRichEdit из RXLib, что это такое?

Автор: Budy 19.10.2004, 17:35
А может есть другие компоненты, работающие с текстом и рисунками?

Автор: Полудненко Олег 19.10.2004, 18:42
Budy RXLib - это библиотека компонентов для Дельфи. Поищи в инете, очень хорошая библиотека.

Автор: Pakshin A. S. 19.10.2004, 18:48
:offtopic
RichEdit для С++ отличается от RichEdit в Delphi?
:offtopic
Добавлено @ 18:54
Есть идея (x77, это просто идея!!!): Поиграть с RichEdit1.Brush...
У меня пока не выходит, может у профи получится... :(

Автор: Pakshin A. S. 19.10.2004, 19:22
:offtopic
А что это вообще за штука? Для чего она нужна?
Код

RichEdit1.Brush.Color:=clBlue;

Никаких видимых изменений... :( :stena

Автор: Pakshin A. S. 19.10.2004, 19:34
Кое-что можно в RichEdit сделать...
Код

RichEdit1.Brush.Bitmap:=TBitMap.Create;
RichEdit1.Brush.Bitmap.LoadFromFile('C:\Windows\Ïàðêåò.bmp');
RichEdit1.Brush.Bitmap.Canvas.Draw(7,7,RichEdit1.Brush.Bitmap);

Вроде, для просмотра нужно сделать прозрачность http://www.ishodniki.ru/list/info.php?cat=&id=1105&show=
Добавлено @ 19:34
Чёрт, для C... :stena

Добавлено @ 20:45

Может это как-нибудь можно применить? :(

http://www.sources.ru/cpp/cpp_hbitmap_in_richedit.shtml

Автор: decoder 19.10.2004, 20:02
Можно и Canvas.Handle := GetDC(RichEdit1.Handle) а птом с канвой ентой извращаться...

Автор: Budy 20.10.2004, 18:34
Полудненко Олег, я скачал эту библиотеку, а чего с ней делать-то?
Куда ее "пихать"?
Как использовать этот RxRichEdit?

Я может чего не правильно натворил, у меня теперь ошибка при запуске любой проги в строке:

program Project1;

uses
 Forms,
 Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.

Автор: decoder 20.10.2004, 18:48
Цитата
Инструкция по установке:

Выберите пункт меню "File/Open...", и откройте пакет (package) RXCTL6.DPK.
В появившемся окне "Package - ..." нажмите кнопку "Compile". После
компиляции пакета RXCTL6 аналогичным образом скомпилируйте остальные
run-time пакеты RXDB6.DPK и RXBDE6.DPK. Скомпилированные BPL-файлы поместите
в каталог, включенный в переменную окружения PATH (например, WINDOWS\SYSTEM).
После компиляции run-time пакетов окройте с помощью меню "File/Open..." файл
DCLRX6.DPK. В появившемся окне "Package - ..." нажмите кнопку "Compile",
и после компиляции нажмите кнопку "Install". После установки пакета
DCLRX6.DPK (должен быть установлен в IDE первым) произведите те же действия
с пакетами DCLRXDB6.DPK и DCLRXBD6.DPK.
Не сохраняйте пакеты библиотеки RX в Delphi IDE.
Если у Вас была установлена предыдущая версия библиотеки RX, удалите
перед установкой старые скомпилированные packages - файлы RXCTL5.BPL,
RXDB5.BPL, RXBDE5.DPK, DCLRX5.BPL, DCLRXDB5.BPL, DCLRXBD5.DPK.

Добавлено @ 18:51
А с ошибкой - берёшь инсталяционный диск, рэпэйришь или, если не помогает, переустанавливаешь дэлфю...

Автор: Pakshin A. S. 20.10.2004, 18:57
Цитата(decoder @ 19.10.2004, 21:02)
Можно и Canvas.Handle := GetDC(RichEdit1.Handle) а птом с канвой ентой извращаться...


Как показала практика, скорее всего это - прорисовка фона RichEdit'а, что есть очень интересно...

Автор: Girder 20.10.2004, 22:29
 Какие стандартные RichEdit-ы smile ? Какие не стандартные smile ? 

Любые рисунки в RTF - это OLE-объекты!

Вот пример, в модуле OleOperations.pas есть все... что может понадобиться smile для превращения стандартного в нестандартное smile ... 

Автор: Budy 21.10.2004, 16:36
Girder, уау, класс! А как в твоем примере програмно вставить картинку вместе с текстом?
*.Lines.Add(**); ???

Автор: Girder 21.10.2004, 17:38
Вставка в текущию позицию...

Код
procedure TForm1.FormCreate(Sender: TObject);
begin
//Start: создаем и подключаем
MyCallback := TRichEditOleCallback.Create;
REOleSetCallback(RichEdit1, MyCallBack);
//End: сoздаем и подключаем
RichEdit1.Clear;                
RichEdit1.Lines.Add('Нажми PrintScreen... а потом Shift+Insert :)');
InsertFromImage(RichEdit1,'E:\WINDOWS\Пузыри.bmp'); //задай свой путь к картинке
InsertFromFile(RichEdit1,'E:\WINDOWS\clock.avi',true,false); //задай свой путь к файлу
RichEdit1.Lines.Add('Кликни дважды по часикам :)');
end;


Удачи.

Автор: Budy 22.10.2004, 20:13
Это хорошо, Girder, а как GIF'ики вставить? :(

Автор: Girder 22.10.2004, 21:33
InsertFromFile
PS:только проигрываться они не будут :)

Автор: Budy 29.10.2004, 04:12
А как чоб проигрывалась?

Автор: Guest 18.11.2004, 18:25
тебе же обьяснили, что можно... отобразится... но только первый кадр... - проигрываться не будет

Автор: Budy 20.11.2004, 17:18
А вот например чаты делают, там в текстовом поле выводят GIF'ики, например IChat.
smile

Автор: Akella 25.1.2005, 16:12
http://soft.mail.ru/program_page.php?grp=3702

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)