【问题标题】:Questions about C++ GUI project types and controls关于 C++ GUI 项目类型和控件的问题
【发布时间】:2017-06-22 12:21:22
【问题描述】:

我喜欢C++,我在C#中用过很多次GUI,但这次我想用C++做一个GUI。我已经了解了Win32 API的基础知识,比如创建窗口、资源脚本、命令和命令的处理,以及一些控件的基础知识。 但是我想知道的是,如何在纯Win32 API或MFC之间进行选择,以使应用程序带有侧边栏,只需单击和拉动即可从窗口断开和连接,如下图:

我想知道的另一种控制类型是,下图中红色的这个列表是什么类型的?在底部圈出,我知道这是树视图与那种列表的混合。我以为它是一个表格控件或类似的,但它不是。

无论如何,我必须继续学习纯Win32 API,还是直接跳到MFC?我不打算使用 .NET 或 C#,只使用带有一些库的纯 C++。

【问题讨论】:

  • 它通常被称为“TreeList”。不是标准控件,但通常由组件供应商出售。您还需要一段时间才能知道自己创建一个,一定要花时间。
  • 在纯 Win32 中,在报告模式下使用自绘列表视图也可以达到同样的效果。
  • 好吧不过,还有可以拖拽的侧边栏,这个组件叫什么名字,我在看下面人推荐的wxWidgets。

标签: c++ user-interface winapi mfc


【解决方案1】:

您还可以查看更现代的 C++ gui 框架,例如 Qt。

如果您想了解有关 Windows 的更多信息,可以使用 Winapi 或 MFC。 //MFC 只是 Winapi 上的一个非常薄的(和 oop)层。

QBittorrent 使用的是Qt framework,所以很可能是QListWidget/QListViewQTreeWidget/QTreeView

【讨论】:

  • 您也可以考虑使用 wxWidgets。它的结构与 MFC 非常相似,但不需要对话框资源。
  • @DanKorn:MFC 也不需要对话框资源。它只是让使用脚本语言和可视化编辑器创建对话框变得更加容易。
  • 谢谢,我看了一下qt,它似乎很有趣,但是因为它是付费的,所以我正在看wxWidgets
  • Qt 是开源的(lgpl 许可),商业只是一种选择。
猜你喜欢
  • 1970-01-01
  • 2011-07-20
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 2022-10-07
  • 2011-08-30
  • 1970-01-01
相关资源
最近更新 更多