Привет All.
Возникла проблемка. Есть у меня RichEdit и в него я встраиваю OLE объект.
Вопрос: Как получить изображение объекта (HBITMAP) ?
Было бы неплохо заиметь пример
, т.к. мои попытки использования IDataObject
результата пока не дали.
Заранее спасибо.
Здравствуйте 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 еще кому пригодиться.