首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么得到插入到richedit中的控件

2012-01-18 
如何得到插入到richedit中的控件?msdn上的那个polygon的例子一个atlactivex控件我把它插入到richedit中去

如何得到插入到richedit中的控件?
msdn上的那个   polygon   的例子
一个atl   activex控件
我把它插入到   richedit中去了

IPolyCtl*               lpPolyCtl   =   NULL;         //控件
......
lpRichEditOle-> GetClientSite(&lpOleClientSite);

ZeroMemory(&reobject,   sizeof(REOBJECT));//初始化一个对象    
reobject.cbStruct   =   sizeof(REOBJECT);
reobject.clsid     =   clsid;
......
hr   =   lpRichEditOle-> InsertObject(   &reobject   );

现在我想再得到他的   IPolyCtl   调用他的事件
请问我该怎么做?

IRichEditOle::GetObject   这个函数有用吗   总是调用不正确

[解决办法]
IPolyCtl 你这个控件有没有实现IOleObject , IDataObject , IPersistStream这三个接口,如果没有你是插入不了的
[解决办法]
IRichEditOle::GetObject()方法是可以用的。
如下:
hr = pIRichEditOle-> GetObject( 0, &reoobject, REO_GETOBJ_POLEOBJ );
这样调用成功后,reoobject结构中的poleobj就是插入的对象的IOleObject接口,调用完成后别忘了用Release释放。

热点排行