c++ - 如何将 Windows 控件添加到 Visual Studio 2017 中的 C++ 桌面应用程序?

标签 c++ .net visual-studio user-interface

我在 Visual Studio 2017 中启动了一个新的 Visual C++ 桌面应用程序,但我在开始使用 UI/View 时遇到了问题。我通常使用 WPF 在 C# 中进行 Windows 开发,但出于各种原因我不得不使用 C++。

这似乎是一个菜鸟问题,但我看不出有任何明显的方法来添加基本控件,例如 TextBox、Label、Button 或 Canvas。几个小时的在线搜索也没有产生任何具体结果 - 只会增加困惑。

当我编译和运行时,那里肯定有一个空白表格。它甚至有一个菜单 -> 退出。

是否有我应该使用的特定框架,例如 Windows 窗体或 MFC?那些还支持吗?所有的 UI 元素都必须在 C++ 代码中添加吗?我是否选择了错误类型的 Visual Studio 解决方案?

更多信息,应要求提供:

我正在开发的是一个 3D 建模程序,类似于 Blender,但大大简化了。我需要使用 Autodesk 发布的 FBX SDK,但它仅支持 C++。

我已经启动了一个使用 C#/WPF 作为前端的版本。目标是稍后将 SDK 与某种多项目解决方案或我单独编译的 dll 合并。我以前没有尝试过这样的事情。

全 C++ 版本是我的想法,即尝试通过合并为一种语言、一个项目和一个解决方案来简化一切。我认为,如果我以每种方式做一个真正基础的 alpha 版本,它将帮助我选择最佳答案并具有双重教育意义。

最佳答案

1)是否有我应该使用的特定框架,例如 Windows 窗体或 MFC?

在VC++ 2017中使用MFC,可以快速使用拖放操作,直接在对话框上插入包括ActiveX/COM组件在内的多个窗口控件。此后可以通过内置向导生成合适的类、接口(interface)事件。各种基于 SDI(单文档界面)/MDI/对话框的应用程序选择可供选择。

2)那些还支持吗?

MFC 在 VS 2017 上仍然运行良好并且非常用户友好,恕我直言,需要最少的编码。

3)是否所有的 UI 元素都必须用 C++ 代码添加?

没有。假设您在对话框中添加了一些静态文本、加速器和按钮,并使用一行代码生成了一个类。您只需插入适当的控件事件并适本地调用窗口消息。

4) 我是否选择了错误类型的 Visual Studio 解决方案?

不要起来。在 2010、2012、2015 和 2017 年使用 MFC,大多数 MFC 代码保持不变。但是,当必须从多字节样式切换到 unicode 样式时,需要进行一些转换。

希望对您的疑惑有所帮助。可以很容易地为窗口控件设置皮肤。

关于c++ - 如何将 Windows 控件添加到 Visual Studio 2017 中的 C++ 桌面应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49125941/

相关文章:

c++ - 如何使用指针从不同的函数访问局部变量?

c# - Azure 通知中心。远程服务器返回错误: (404) Not Found.找不到NotificationId

c++ - 在 Visual Studio 6.0 中使用 WinHTTP

.net - 如何在 Rider 中同时加载 5.0 和 4.7.2 项目?

asp.net - 是否可以禁止打开 Visual Studio 中的 Web 窗体设计器?

visual-studio - Visual Studio 11 安装错误

c++ - ofstream 由多个线程共享 - 一段时间后崩溃

使用 Boost 对复杂数据进行 C++ 序列化

c++ - 模板参数数量错误

.net - PowerShell 中的进程、实例与运行空间