【发布时间】:2014-12-13 21:37:18
【问题描述】:
我有 2 个项目,一个 C# 项目包含我需要的大部分内容,还有一个 GDI C++ 项目,它有一个控件和一些我想放入 C# 项目的逻辑。
我是否以某种方式将 GDI C++ 项目包装为控件?是否有一些更新的技术我应该更新 GDI 代码以使用(不确定 GDI 与 GDI+ 有何不同)。
刚开始看这个,不知道如何整合两者。
【问题讨论】:
-
您还不够了解,无法提出有意义的问题。 C++ 代码使用 GDI 实现绘画是一个无关紧要的细节,更重要的是它如何将其功能暴露给其他代码。有不止一种方法可以做到这一点,比如 RegisterWindowEx() 或 ActiveX,这是您首先需要关注的。
-
Hans,所以我会从 c++ 代码创建一个 dll,它有一个 com 接口(actives 或 registerWindowx)?然后将该dll导入我的C#项目中使用?
-
您不一定需要使用 COM,例如可以使用 C++/CLI 或 P/Invoke 集成两者。但最好的方法取决于 C++ 代码如何像 Hans 所说的那样公开其功能,因此我们需要更多细节来回答这个问题。