如何在非mfc项目中使用静态库中的MFC对话框类?

时间:2012-06-29 13:50:15

标签: visual-c++ mfc static-libraries

我想要实现的目标:

我有一个很大的现有项目,非mfc。

我创建了一个静态库,其中定义了cdialogs。

我已经读过,可以在非mfc应用程序中使用这个lib,但我不知道怎么做。

我读了很多关于mfc入口点和初始化的内容,它发生在afxwinmain(),InitInstance,run()等等。所以,显然,这些东西永远不会在我的应用程序中完成。

有人可以建议在主应用程序中使用我的lib中的cdialogs的方法吗?

1 个答案:

答案 0 :(得分:1)

由于@satuon,你的假设到目前为止已经奏效了。

我实际上将afxwinmain()函数中的mfc代码复制到我的静态lib中的一个函数中(在我的例子中,是一个cwinapp方法)。

在我的主应用程序中,我将cwinapp对象声明为外部对象。然后,我只需调用theApp.InitMFC()就可以了。

示例:

extern MyCWinApp theApp;
theApp.InitMFC();

就我而言,应用程序是全球性的。