ActiveX文档或类似C#/ .NET上的类似文档

时间:2008-12-05 16:20:52

标签: c# activex document

如何在C#/ .NET上实现ActiveX文档? (ActiveX文档可以在IE中绘制)
更新:我需要一个解决方案,在IE窗口中绘制我自己的文档类型(如MS Word或MS Excel在IE中绘制文档)。

4 个答案:

答案 0 :(得分:1)

您需要为此目的深入了解OLE。

IOleDocument,IOleInPlaceSite之类的东西(请参阅MSDN)。找出客户端需要哪些接口(因为IE将是容器,需要与您的接口实现进行通信),以及通信的进行方式,例如:什么时候被称为。它不是火箭科学,但我相信仍然有相当多的工作。

答案 1 :(得分:0)

答案 2 :(得分:0)

我的第一个想法是你可以使用WPF Page,它可以托管在WPF窗口或IE中。

来自MSDN:

  

封装可以的内容页面   导航到Windows并由其托管   Internet Explorer,NavigationWindow,   和框架。

答案 3 :(得分:0)

这是可能的,但很难。很糟糕的是缺少文档......微软没有兴趣支持这种情况。另一个困难的部分是调试HTML / DOM和ActiveX控件之间的界限。

对于你正在做的事情,听起来Silverlight会是更好的选择。它只支持.Net的子集,但它支持绘制图形。找到文档会更容易。它将在非Windows计算机上运行。

但也许你需要Silverlight不做的事情(比如音频输入支持)。如果是这样的话,那里有各种关于质量不同的博客。以下是对我最有帮助的两个:

http://www.codeproject.com/KB/cs/CreateActiveXDotNet.aspx

http://blog.ianchivers.com/wordpress/?p=22

我建议使用OleView检查您生成的类型库,并确保它符合您的期望。你也可以这样做,看看如何将事件属性分解为get / set函数,这是调试某些场景所必须做的事情。

还要认识到“将调试器附加到进程”与脚本或托管调试的区别。在某些时候,当你认为自己使用了另一个时,你会附上一个。