佚名通过本文主要向大家介绍了
Activex控件插入richedit容器一定会是windowless的吗,能不能创建成有窗口的呢?等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: Activex控件插入richedit容器一定会是windowless的吗,能不能创建成有窗口的呢?
描述:
解决方案1:
描述:
m_bWindowOnly是不行的啊.
如果不插入容器,作为普通窗口上的控件,没有问题,一旦插入容器就会变成无窗口的了.
这样,就不方便.
无窗口的activex如果我要重画的话,调用fireviewchanged,会重画容器窗口中的所有控件
如果能有窗口,就可以做到只重画控件自己的窗口了.
解决方案1:
刷新控件只要交给控件的直接容器(IxxxSite)即可,没必要让父窗口刷新,为了简化操作,Site跟Control被设计成一对一的关系,不存在一个Site有多个Control的情况
解决方案2: 参考下文或许有所帮助:
http://www.themssforum.com/MFC/Insert-ActiveX/
http://support.microsoft.com/kb/218442
现在很多UI设计都是用windowless的activeX来细化和集成。比如百度Hi,live messenger等。
这样可以隐藏消息循环,性能也会好一些。
组件是否要搞得像一个windowless是组件自己决定的,参看MSDN的对IOleInPlaceSiteWindowless接口的描述。特别注意该文档对windowless control和它的container的交互过程的描述。
up
解决方案5:没做过,UP