已经在Richedit中插入了位图,如果想取出这些位图句柄的话。具体该如何操作?
目前已经取出来包含图片对象的 REOBJECT结构体指针,接下来该如何使用这个结构体获取位图句柄呢?int nCount = m_RichEdit.GetIRichEditOle()->GetObjectCount();   
int nSel = -1 ;
for(int i = 0 ; i < nCount ; i++) //遍历位图
{
REOBJECT object; //位图信息存在这里
memset(&object,0,sizeof(REOBJECT));
object.cbStruct = sizeof(REOBJECT);IRichEditOle * pRichOle =m_RichEdit.GetIRichEditOle();
SCODE sc = pRichOle->GetObject(i,&object,REO_GETOBJ_ALL_INTERFACES);
if( sc == S_OK )
{  //这里已经获得了 object ,接下来该如何使用这个结构体中的OLE指针来获取位图句柄呢?}

解决方案 »

  1.   

    问题已经解决。
    IDataObject* pDataObj = NULL ;
    HRESULT hr = object.poleobj->QueryInterface(IID_IDataObject,(void**)&pDataObj );
    if( S_OK == hr )
    {
    STGMEDIUM stgmed;
    FORMATETC fm;
    fm.cfFormat = CF_BITMAP; // Clipboard format = CF_BITMAP
    fm.ptd = NULL; // Target Device = Screen
    fm.dwAspect = DVASPECT_CONTENT; // Level of detail = Full content
    fm.lindex = -1; // Index = Not applicaple
    fm.tymed = TYMED_GDI; HRESULT hr = pDataObj->GetData( &fm, &stgmed);

    HBITMAP h = stgmed.hBitmap ; //句柄已经得到了。