为啥没有类似 C++ 的 Windows.Forms 程序(有吗?)

Posted

技术标签:

【中文标题】为啥没有类似 C++ 的 Windows.Forms 程序(有吗?)【英文标题】:Why isn't there a Windows.Forms like program for C++ (is there?)为什么没有类似 C++ 的 Windows.Forms 程序(有吗?) 【发布时间】:2009-10-11 17:43:20 【问题描述】:

我认为没有像 VS Windows.Forms 这样的 C++ 程序。现在我知道“Windows.Forms”本身就是一个 C#“东西”,但我不明白为什么没有人为 C++ Windows GUI 构建类似的图形构造界面。我只是不知道它/他们吗?

我是否应该尝试制作一个(无论如何对我来说这将是一个挑战,但有什么好玩的!)?有人想和我谈谈和我一起做一个吗?

【问题讨论】:

为什么不在 .NET 平台上使用 C++?然后你就可以访问所有的 Windows.Forms 正如我对 jon 所说(尽管 10 秒前),我不是在寻找框架,而是在为我的窗口寻找 WYSIWYG 编辑器。 那么 qt 设计师是要走的路。 【参考方案1】:

是的,你只是不知道。我最熟悉的是用于 Qt Toolkit:QtDesigner。我敢肯定还有其他人......

【讨论】:

【参考方案2】:

我不完全确定你在追求什么 - 设计师?框架?

最接近 Windows 窗体的可能是 MFC,尽管也存在各种其他 GUI 框架......其中一些是可移植的,例如 Qt 和 GTK+。

编辑:对于设计师方面,来自Wikipedia Visual Studio page:

对于MFC开发,它提供了一套 用于创建和 自定义 MFC 样板代码,以及 使用 MFC 创建 GUI 应用程序。 Visual C++ 也可以使用 Visual 工作室表单设计师设计 UI 图形化的。

【讨论】:

好吧,你不可能有一个没有框架的设计师 - 但肯定有 曾经 是作为 Visual Studio 一部分的 GUI MFC 设计师。 Visual Studio 仍然包含一个用于 MFC 的 GUI 设计器。 Qt 还带有一个设计器。【参考方案3】:

小修正:Windows.Forms 工具包不是特定于 C# 的工具包,而是一个 .Net 工具包。因此,它适用于支持托管代码的 C++ 版本。即具有托管扩展的 C++/CLI 和 C++。它甚至可以通过 COM 互操作和许多时髦的编组用于本机 C++。但是对于盒子里没有托管组件的原始原生 C++,是的,它不可用。

为什么?可能是因为已经有几个适用于 C++ 的 Windowing 工具包,它们具有与 Windows.Forms 类似的功能集。这是我认识的一对

QT MFC WTL

【讨论】:

MFC(这是我个人所知道的唯一一个)只是一个框架,可以更轻松地与 win api 交互,除非我不正确 - 不是所见即所得的编辑器。无论如何,我不想要一个框架,我想要一个用于 win api 代码的 gui 编辑器。 你错了 - Visual Studio 带有 MFC 设计器。 第三个原因是 VS 有一个用于 MFC 的 WYSIWYG 编辑器。现在有点尘土飞扬,但是多年来一直是windows GUI开发的中流砥柱。【参考方案4】:

它存在于 Visual Studio 中,并且自 .NET 之前就存在,假设您正在谈论用于在窗口上布置控件的图形编辑器。 http://msdn.microsoft.com/en-us/library/6zd672xs.aspx

【讨论】:

以上是关于为啥没有类似 C++ 的 Windows.Forms 程序(有吗?)的主要内容,如果未能解决你的问题,请参考以下文章

为啥它不起作用,控制台程序转换为 Windows Form C# [关闭]

为啥 ZeroMQ 服务器没有收到来自客户端的任何请求?

为啥VS2013没有QT菜单 ??

为啥 C++ 标准库中没有 SIMD 功能?

为啥 C++ 标准库中没有线程池?

为啥没有 C++ 的 DELETE 宏的原因