【问题标题】:Add gui to c++ project (visual studio 2010)将 gui 添加到 c++ 项目 (visual studio 2010)
【发布时间】:2011-07-28 11:49:38
【问题描述】:
  1. 我创建了一个 c++ 项目,现在我想向它添加一个图形界面。 当我点击Project-->Add New Item,并选择添加Windows Form,它 创建一个头文件和源文件,但有很多错误,例如:

    (“public, privte, this - 'this' 只能在非静态成员函数之外使用”,“System”,...) 这些问题是什么?项目运行时如何让表单显示?

  2. 当我打开一个新项目“Win32 应用程序”时,我看到(并且可以编辑)的只是菜单和对话框...我在哪里可以看到主窗体??

谢谢!

【问题讨论】:

  • 为什么不先创建一个winforms项目呢?

标签: c++ visual-studio visual-studio-2010 user-interface visual-c++


【解决方案1】:

制作 gui 的原生 C++ 方法有 2 种(使用 win32 api); MFC 和直接 API。

MFC 有很多预制的组件和类 - 您所做的(将表单添加到常规项目中)不起作用,因为该项目不是为 MFC 设置的。

当您创建一个新的 win32 项目(不是 mfc 或控制台)时 - 用于创建 windows+such 的方法更类似于教程here。您可以使用这种方法直观地设计您的窗口,将它们嵌入资源中 - 但您至少需要专业版的 Visual Studio 才能做到这一点。

如果你刚开始使用 GUI - 你最好使用 wxWidgets 之类的东西

【讨论】:

    【解决方案2】:

    不是让你失望,而是接受这个事实 - C++ 中的 GUI 编程很痛苦。虽然我建议你从基于 MFC 的应用程序开始,因为它很好地与 Visual Studio 集成,你不需要安装任何第三方库。 MSDN 也在那里 - 样本,网上的无数例子也可用。你应该从基于对话框的应用程序开始,VS 有很好的工具来进行 GUI-MFC 映射。

    其他人可能会建议您从 QT、wxWigets 开始,这些都是不错的选择,但学习曲线会更长,而且您只会对遇到的问题感到厌倦。您将需要下载、安装和配置这些东西。

    如果您不胆小,您可以从原生 Windows GUI 开发开始 - 从核心开始做所有事情,包括设置窗口结构、编写消息循环、消息映射(switch-case)和全部。

    【讨论】:

    • 另一方面,一旦安装了wxWidgets,我认为它比MFC更容易学习和使用(Qt可能也是如此)。
    • 我真的不能同意你的看法!编译、链接、分发很痛苦。
    【解决方案3】:
    1. 如果您的应用程序类型是控制台应用程序,最好的方法是重新开始一个新的 Win32 应用程序项目(就像您所做的那样)

    2. Win32 应用程序是干净的 WinAPI 应用程序,您一般无法以图形方式构建主窗口。您可以尝试创建“对话框应用程序”(这是 Win32 应用程序中的一些选项),但对话框并不是 GUI 中最通用的东西。

    如果您不熟悉 WinAPI 编程,您可以提出一个单独的问题,在其中描述您对 GUI 的要求和您的知识,人们会建议工具/框架/方法。

    【讨论】:

      【解决方案4】:

      启动一个新项目并选择“MFC 应用程序”作为应用程序类型会容易得多。然后将为您正确配置该项目。您可以选择使用对话框应用程序(主窗口是单个对话框,如果您习惯于 .NET,则为“表单”)、单文档应用程序(ala notepad)或 MDI 文档应用程序(ala Visual工作室)。

      【讨论】:

      • 哦,对话框应用程序仅在 MFC 中可用?很久以前用过的:)
      • @unkulunkulu,标准的 Win32 项目(非 MFC)还创建了一个对话框过程和对话框模板资源。我只建议 MFC 作为 OP 提到的 C++ :)
      猜你喜欢
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      • 2011-07-03
      • 2011-05-10
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      相关资源
      最近更新 更多