【问题标题】:How to add another gui to MFC project in C++如何在 C++ 中向 MFC 项目添加另一个 gui
【发布时间】:2011-01-08 21:03:10
【问题描述】:

嗨 我有带有 gui 的 MFC 项目,我想在项目中添加另一个 gui 类。 我将新 gui 的类添加到项目中并为它创建了一个新类,但我不知道如何运行它。当我运行我的程序时,我运行了第一个 gui,我希望按下一个按钮,新的 gui 就会出现。这就是我不知道该怎么做。 谢谢

【问题讨论】:

  • 如果按下按钮,您能否发布启动的代码,并指出应该在源代码中启动 new GUI 的位置。请同时发布 new GUI 的 API——我想你说的是 GUI 控件,但我不确定。

标签: c++ user-interface mfc


【解决方案1】:

在第一次 gui 运行中,处理按钮的 onbncicked 事件,并在该函数中派生一个新 gui 对象并为该对象调用 DoModal 函数。这将使您的第二个 gui 被加载。

【讨论】:

    【解决方案2】:

    一些细节是必需的。你的第二个 GUI 是什么样的?它是从 Dialog 类派生的还是 CWnd 派生窗口?我认为它应该是一个 CWnd 派生窗口,因为如果它是一个对话框,您可以通过调用 DoModal 或 Create 函数来显示它。

    因此,对于 CWnd 派生的窗口类,您应该创建一个公共函数,并在该函数中执行以下操作:

    1. 创建一个公共函数,例如“MyWindowMajic()
    2. MyWindowMajic() 内部,使用 AfxRegisterWndClass() 为新窗口注册您的类并存储返回的类名。
    3. 使用适当的参数调用 CreateEx() 函数并将您在步骤 2 中获得的类名传递给它。例如:CreateEx(WS_EX_APPWINDOW, pszClassName, ... )
    4. 调用 ShowWindow(SW_SHOW) 使其可见。这将结束 MyWindowMajic() 函数
    5. 在按钮的 on click 方法上,创建您的类的实例并调用此 MyWindowMajic()

    【讨论】:

      猜你喜欢
      • 2017-02-26
      • 1970-01-01
      相关资源
      最近更新 更多