1

我想要达到的目标:

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

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

我已经读过,可以在非 mfc 应用程序中使用这个库,但我不知道如何。

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

谁能建议一种在主应用程序中使用我的库中的 cdialogs 的方法?

4

1 回答 1

1

感谢@satuon,您的假设到目前为止有效。

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

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

例子:

extern MyCWinApp theApp;
theApp.InitMFC();

就我而言,theApp 是全球性的。

于 2012-07-02T08:48:55.937 回答