如何在 C++ 中向 MFC 项目添加另一个 gui
Posted
技术标签:
【中文标题】如何在 C++ 中向 MFC 项目添加另一个 gui【英文标题】:How to add another gui to MFC project in C++ 【发布时间】:2011-01-08 21:03:10 【问题描述】:嗨 我有带有 gui 的 MFC 项目,我想在项目中添加另一个 gui 类。 我将新 gui 的类添加到项目中并为它创建了一个新类,但我不知道如何运行它。当我运行我的程序时,我运行了第一个 gui,我希望按下一个按钮,新的 gui 就会出现。这就是我不知道该怎么做。 谢谢
【问题讨论】:
如果按下按钮,您能否发布启动的代码,并指出应该在源代码中启动 new GUI 的位置。请同时发布 new GUI 的 API——我想你说的是 GUI 控件,但我不确定。 【参考方案1】:在第一次 gui 运行中,处理按钮的 onbncicked 事件,并在该函数中派生一个新 gui 对象并为该对象调用 DoModal 函数。这将使您的第二个 gui 被加载。
【讨论】:
【参考方案2】:一些细节是必需的。你的第二个 GUI 是什么样的?它是从 Dialog 类派生的还是 CWnd 派生窗口?我认为它应该是一个 CWnd 派生窗口,因为如果它是一个对话框,您可以通过调用 DoModal 或 Create 函数来显示它。
因此,对于 CWnd 派生的窗口类,您应该创建一个公共函数,并在该函数中执行以下操作:
-
创建一个公共函数,例如“MyWindowMajic()”
在 MyWindowMajic() 内部,使用 AfxRegisterWndClass() 为新窗口注册您的类并存储返回的类名。
使用适当的参数调用 CreateEx() 函数并将您在步骤 2 中获得的类名传递给它。例如:CreateEx(WS_EX_APPWINDOW, pszClassName, ... )
调用 ShowWindow(SW_SHOW) 使其可见。这将结束 MyWindowMajic() 函数
在按钮的 on click 方法上,创建您的类的实例并调用此 MyWindowMajic()
【讨论】:
以上是关于如何在 C++ 中向 MFC 项目添加另一个 gui的主要内容,如果未能解决你的问题,请参考以下文章
如何在多平台多项目 Kotlin 构建中向另一个项目的测试添加依赖项
如何在 Visual C++ 2008 中将 MFC 应用程序项目添加到 Win32 应用程序项目
如何将 MFC 支持添加到现有的 Win32 C++ 项目?