2017-06-22 55 views
1

我喜欢C++,并且我在C#中多次使用GUI,但是这次我想用C++来制作一个GUI。我已经了解了Win32 API的基础知识,例如创建窗口,资源脚本,命令和命令处理,以及某些控件的基础知识。 但我想知道是什么,是如何纯粹的Win32 API或MFC之间选择,以使与可以通过点击和拉动断开,并从窗口连接的侧边栏应用程序,如下图:关于C++ GUI项目类型和控件的问题

Sidebar in question

而我想知道的另一种类型的控件在下图中是红色的是什么样的列表?在底部的圆圈内,我知道这是一个树形视图和那种列表的组合。我认为这是一个桌子控制或类似的,但事实并非如此。

List I want to know what kind of control is

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

+1

它通常被称为“TreeList”。不是标准控件,而是通常由组件供应商销售。你需要一段时间才能知道自己创造一个,一定要花时间。 –

+0

在报告模式下使用自绘绘制列表视图的纯Win32中可以实现同样的效果。 –

+0

好吧,但是,可以拖动的边栏,这个组件的名称是什么,我正在看下面的人建议的wxWidgets。 –

回答

1

你也可以看看更现代的C++ gui框架,比如Qt。

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

QBittorrent使用Qt framework,所以那些最有可能一个QListWidget/QListViewQTreeWidget/QTreeView

+0

你也可以考虑wxWidgets。它的结构与MFC非常相似,但不需要对话框资源。 –

+0

@DanKorn:MFC不需要对话资源。它只是使使用脚本语言和可视化编辑器创建对话更容易。 – IInspectable

+0

谢谢,我看了一下qt,看起来很有意思,但是因为付了钱我正在看wxWidgets –