Re: RichEdit & embeded OLE object - получить изображение
От: Rinver  
Дата: 25.09.02 09:00
Оценка:
Здравствуйте Rinver, Вы писали:

R>Привет All.


R>Возникла проблемка. Есть у меня RichEdit и в него я встраиваю OLE объект.

R>Вопрос: Как получить изображение объекта (HBITMAP) ?
R>Было бы неплохо заиметь пример , т.к. мои попытки использования IDataObject
R>результата пока не дали.
R>Заранее спасибо.

Не надо мучиться с IDataObject ... и использовать GetData.
Нужно делать так:

REOBJECT ob;
ob.cbStruct=sizeof(ob);
ob.cp=0;
rich_ole->GetObject(REO_IOB_USE_CP,&ob,REO_GETOBJ_ALL_INTERFACES);
IOleObject *io=ob.poleobj;
IUnknown *unk;
io->QueryInterface(IID_IUnknown,(void**) &unk); 
// HDC добавить по вкусу  ;) 
HDC phdc;
phdc=GetDC()->m_hDC;
CRect rect(0,0,100,100);
// Отрисуем объект 
OleDraw(unk,DVASPECT_CONTENT,phdc,&rect);


или использовать IViewObject c соответствующей функцией Draw.
Maybe еще кому пригодиться.
С уважением, Rinver.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.