Вниз
Скачать: CL | DM;

Данные OleContainer   Найти похожие ветки 

 
}{enon ©   (2003-10-19 17:16) [0]

Подскажите, пожалуйста, как можно копировать данные из OLE в TBitmap и обратно (OLE содержит рисунок).
Заранее спасибо.


 
kavlad   (2003-10-21 16:52) [1]

Напиши свой Ole-контейнер:

type
TMyOleContainer = class(TOleContainer)
public
property Canvas;
end;

Теперь канва станет доступна для использования внешними средствами.


 
REA ©   (2003-10-21 17:07) [2]

Из OLE Container в буфер обмена: Copy

Вставить в Bitmap например так:
procedure TForm1.Button1Click(Sender: TObject);

var
Bitmap : TBitmap;
begin
Bitmap := TBitMap.create;
try
Bitmap.LoadFromClipBoardFormat(cf_BitMap,ClipBoard.GetAsHandle(cf_Bitmap),0);
Canvas.draw(0,0,Bitmap);
finally
Bitmap.free;
end;
end;


 
}{enon ©   (2003-10-22 19:30) [3]

2 kavlad
Спасибо, попробую (кстати, извлечь данные можно и встроенным методом PaintTo)

2 REA
Я пробовал еще до того, как задать вопрос - не работает, т.к. ClipBoard не объявлен :(


 
Sandman25 ©   (2003-10-23 10:13) [4]

>Я пробовал еще до того, как задать вопрос - не работает, т.к. ClipBoard не объявлен :(

uses Clipboard;


 
Sandman25 ©   (2003-10-23 10:14) [5]

Вру.

uses Clipbrd;


 
}{enon ©   (2003-10-23 16:30) [6]

2 Sandman25
ОК, а то я пробовал то, что в хелпе - QClipBoard или что-то в этом роде.


 
}{enon ©   (2003-10-23 17:11) [7]

Блин! Уже как-то неудобно, но сообщение "Unsupported clipboard format" (в блоке try!) выше моего понимания. И главное не врет: Windows Clipboard также не распознает содержимое буфера обмена.


 
REA ©   (2003-10-23 17:16) [8]

Не исключено, что именно форматы не совпадают. Приложение может помещать в Clipbord данные в разных форматах и есть вероятность, что Bitmap среди них нет.


 
}{enon ©   (2003-10-23 17:23) [9]

Вот этого я понять и не могу. Если открыть объект и вручную его скопировать, то всё нормально, а если програмно - то не работает.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.015 c
1-8350
GreySerg
2003-10-22 16:40
2003.11.03
Как определить запущено ли уже какое-то приложение или нет ?


1-8480
Islander
2003-10-24 01:28
2003.11.03
Прорблемы с буфером обмена


4-8743
andre
2003-08-29 03:21
2003.11.03
А втозагрузка


14-8592
undert
2003-10-15 01:11
2003.11.03
ДЫРКА В Delphi CHAT !!! 3.3b


3-8289
MV-GROB
2003-10-09 19:02
2003.11.03
Ошибка Index not found ? при попытке update dBase




   Наверх