Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2007, 23:45   #1
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Вопрос RichEdit - работа с Clipboard

Имеется RichEdit
Как исрользкя clipBoard напрямую вставить в этот рич эдит картинку в определённое место (например из image1, imaglist1,или файла с диска?).
после вставки видна картинка (если выделить (нажать) то появляется сетка редактирования (ресайза картинки))

Яркие тому примеры Чаты : Net Assistence и SmashChat

Помогите пожалуйста !
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 14.12.2007, 17:47   #2
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

чтобы вывести картинку в определеное место думаю надо пользоваться процедурой paintto-
Код:
richedit1.paintto...
Скопировать в буфер картинку(или ее область) можно так:
Код:
image1.canvas.copyrect()...
Можно и так-
Код:
clipboard.assign(image1.picture);
bill вне форума Ответить с цитированием
Старый 14.12.2007, 18:09   #3
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
По умолчанию

неа не канвасом , там копируется как обьект ...
Вот Вы не видели на некоторых форумах (в полях где сообщения пишут)
стоят продвинутые текстовые редакторы, и если в них вставить текст с форматированием то они и покажут его с форматированием.
Аналогично например в ICQ, если скопировать "Правильно" картинку то её можно вставить в поле ввода сообщения и пона автоматически отошлётся собеседнику ...
Вот если Вам не трудно и нтрересно вот ссылка на сайт программы SmashChat http://smashnet.narod.ru/soft.htm . я запускал прямо с скачянного архива .
Вот послав там смайлик можно увидеть его в поле ричэдит как обьект ....
его можно выделить, растянуть , сжать если ухватится мышкой за край смайла ... как утверждает автор эо делается с помощью clipboard тобиш буфера обмена , что добавляет недостаток программе тк она чистит буфер обмена при каждом добавлении смайла ...
---
GAGARIN-NEW вне форума Ответить с цитированием
Старый 14.12.2007, 18:52   #4
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Вот что-то есть, правда без редактирования мышью и т.д. http://articles.org.ru/cfaq/index.php?qid=238&catid=1

Ещё может быть OLE (?)
пыщь
JTG вне форума Ответить с цитированием
Старый 14.12.2007, 19:25   #5
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Радость

Цитата:
Сообщение от JTG Посмотреть сообщение
Вот что-то есть, правда без редактирования мышью и т.д. http://articles.org.ru/cfaq/index.php?qid=238&catid=1

Ещё может быть OLE (?)
Ура ! мне и ненадо чтобы было редактирование , это только побочный эффект вставки с помощью буфера !
СПААААСИБООО ! ОЧень пригодилось !

Только чтото она не работает .... есть ошибки ........((((((((((((

вот в DelphiWorld нашол ещё 2 примера и оба не работают ....

у каво работает синьте плиз исходничек ....
---

Последний раз редактировалось GAGARIN-NEW; 14.12.2007 в 19:55.
GAGARIN-NEW вне форума Ответить с цитированием
Старый 16.12.2007, 20:30   #6
GAGARIN-NEW
Познаю мир
Форумчанин Подтвердите свой е-майл
 
Аватар для GAGARIN-NEW
 
Регистрация: 05.10.2007
Сообщений: 387
Восклицание Ура я нашол !!!

В вложении есть нужный юнит (незабываем его добавлять в папку с проектом и дописывать )

А применять так :
Код:
procedure TForm1.Button1Click(Sender: TObject);// Это из "готовой" картинки на форме
begin
InsertBitmapToRE(RichEdit1.Handle,Image1.Picture.Bitmap.Handle);
end;

procedure TForm1.Button2Click(Sender: TObject);// это загружая из файла
var
bmp:TBitmap;
begin
if (not OpenPictureDialog1.Execute) then exit;
bmp:=TBitmap.Create;
try
   bmp.LoadFromFile(OpenPictureDialog1.Filename);
   InsertBitmapToRE(RichEdit1.Handle,bmp.Handle);
finally
   bmp.Free
end
end;
Модераторам - тему можно закрывать.
Вложения
Тип файла: rar re_bmp.rar (2.1 Кб, 104 просмотров)
---
GAGARIN-NEW вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RichEdit Killbrum Помощь студентам 3 12.06.2008 22:41
RichEdit nimf Общие вопросы Delphi 8 23.04.2008 07:55
Алгоритм (RichEdit,inifiles,работа с текстом) GAGARIN-NEW Общие вопросы Delphi 8 29.01.2008 19:17
Вставка данных(Excel) из clipboard в DBGrid mahsus Общие вопросы Delphi 1 07.10.2007 02:02
обработка изображений, clipboard borodaj Общие вопросы Delphi 2 02.05.2007 16:10