怎么获取的插入到RichEdit控件的一张图片呀(或是一个OLE对象)。
IRichEditOle* pRichEditOle = m_SendEdit.GetIRichEditOle();
REOBJECT reobject;
IOleObject* oleobj;
ZeroMemory(&reobject, sizeof(REOBJECT));
reobject.cbStruct = sizeof(REOBJECT);
pRichEditOle->GetObject(0, &reobject, REO_GETOBJ_ALL_INTERFACES);
这样能得到ole对象的信息, 但我不知道样才能得到我插入到其中的hBitmap的句柄。希望大家不吝赐教,小弟感激不尽呀!!!!!!!!!!
还有一个问题,就是QQ的消息发送框能复制粘贴图片,复制是richedit自己实现的,但粘贴没有,怎么做呀?
IRichEditOle* pRichEditOle = m_SendEdit.GetIRichEditOle();
REOBJECT reobject;
IOleObject* oleobj;
ZeroMemory(&reobject, sizeof(REOBJECT));
reobject.cbStruct = sizeof(REOBJECT);
pRichEditOle->GetObject(0, &reobject, REO_GETOBJ_ALL_INTERFACES);
这样能得到ole对象的信息, 但我不知道样才能得到我插入到其中的hBitmap的句柄。希望大家不吝赐教,小弟感激不尽呀!!!!!!!!!!
还有一个问题,就是QQ的消息发送框能复制粘贴图片,复制是richedit自己实现的,但粘贴没有,怎么做呀?
解决方案 »
- TCP,HTTP原始套接字疑问?
- 100分 求解RakNet 一个比较郁闷的问题
- RichEdit控件如何响应鼠标单击??
- 不能同时在一个对话框中,显示两个Opengl的ActiveX控件,急!!!!!
- 关于在Win32 Application中使用MFC的问题
- 我用vc写的dll中的一个接口函数,在调用时报地址错误!请问我这么写有错误吗?
- ##############菜鸟的问题####################
- $$重分相谢!树形控件如何与链表联系起来?££
- 调用未知DLL中的资源?
- 如何将自己的程序设置进系统服务列表中,而且也可以设置自运运行或手动运行,也可禁用等。
- 为什么函数不能正确返回?
- 菜鸟高分求教.CxImage问题,帮顶者有分
但这样,RichEdit本身就存放了这些对象,我看资料说是可以通过它所提供的接口返回所插入的ole对象的呀,就这下面这段代码,但不知道什么地方有问题。
IRichEditOle* pRichEditOle = m_SendEdit.GetIRichEditOle();
REOBJECT reobject;
IOleObject* oleobj;
ZeroMemory(&reobject, sizeof(REOBJECT));
reobject.cbStruct = sizeof(REOBJECT);
pRichEditOle->GetObject(0, &reobject, REO_GETOBJ_ALL_INTERFACES);
oleobj = reobject.poleobj;
IDataObject *pDataObject;
SCODE sc = oleobj->GetClipboardData(0, &pDataObject);
if(sc != S_OK)
{
if (sc == OLE_E_NOTRUNNING )
{
//The object is not running.
//错误提示对象没有运行,不知道怎么回来,倒底它说的对象是指什么对象呀?
AfxThrowOleException(sc);
return FALSE;
}
AfxThrowOleException(sc);
return FALSE;
}
FORMATETC fm;
STGMEDIUM sm;
pDataObject->GetData(&fm, &sm);
if (fm.cfFormat == CF_BITMAP)
{
//sm.hBitmap就是所插入的图片句柄了
}
REOBJECT reobject;
ZeroMemory(&reobject, sizeof(REOBJECT));
reobject.cbStruct = sizeof(REOBJECT);
CLSID clsid;
sc = pOleObject->GetUserClassID(&clsid);
if (sc != S_OK)
AfxThrowOleException(sc);
reobject.clsid = clsid;
reobject.cp = REO_CP_SELECTION;
reobject.dvaspect = DVASPECT_CONTENT;
reobject.poleobj = pOleObject;
reobject.polesite = lpClientSite;
reobject.pstg = pStorage;
reobuject.dwUser = 0x1f3a;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
错误提示:"尚未实现"又是怎么回事呢?
我真的被这个问题彻底的搞跨了!!