从 ActiveX 控件使用 CWinFormControl
我正在尝试在 ActiveX 控件(启用 MFC/C++/CLR)内托管托管控件(C#/.Net)。
我已经能够从基于 MFC 视图的应用程序成功使用 CWinFormsControl,但我还没有想到了解如何在 ActiveX 控件中托管一个控件。 ActiveX 控件启用了 CLR。我们尝试这样做是因为我们有一个旧的 MFC 应用程序需要使用第三方托管控件,并且我们必须将其托管在我们自己的 ActiveX 控件内,然后将其托管在我们的应用程序中。说来话长,但这就是它必须如何运作的。
有什么指点吗?
I'm trying to host a managed control (C#/.Net) inside an ActiveX Control (MFC/C++/CLR Enabled.)
I've been able to use CWinFormsControl successfully from an MFC View based application, but I haven't figured out how to host one in an ActiveX Control. The ActiveX control is CLR enabled. We're attempting to do this because we have a legacy MFC application that needs to make use of a third party managed control, and we must host it inside of our own ActiveX control, which is then hosted in our application. Long story, but this is how it must work.
Any pointers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要研究 COM 和 .NET 之间的互操作。据我记得,您可以首先使 .NET 组件 COM 对 ActiveX 控件可见。之后,您的 .NET 组件将充当另一个 COM 组件。
这是一篇关于互操作的文章。我相信您需要阅读第二部分。
You need to look into interop between COM and .NET. As far as I remember, you can start by making your .NET component COM visible for your ActiveX control. After that, your .NET component acts as another COM component.
Here is an article about the interop. I believe you need to read Part II.