我在 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/