TreeListView控件

时间:2011-03-22 00:10:11

标签: c++ winapi mfc windows-controls

我需要实现与Process Explorer中相同的TreeList控件。 我是GUI的新手,并没有编写如此复杂的控件。

正如我在Process Explorer中看到的,有一个TreeListWindowClass,它包含子代: 2个标题,3个滚动条(其中一个是不可见的?)和1个静态(位于可见滚动条之间)。 据我所知,主控件将所有物品都吸收到其中。 另外,我没有在附加的dll中找到mfcxxx.dll。

问题1:哪种框架更好用? 有:MFC,WTL,普通WinAPI ...... 我看了一下这个实现http://www.codeguru.com/cpp/controls/treeview/classes/article.php/c13167并且与>混淆了cpp文件中的8000行代码具有巨大的结构(其中一个包含80个成员)。 它是普通的WinAPI(和没有++的C)。 我绝对想要使用OOP风格。 =)

问题2: 这个控件的高级设计应该是什么? 你能解释一下这个控件应该如何设计吗?

我的局限性:C ++,VS10,操作系统:Vista及更高版本。

提前致谢

4 个答案:

答案 0 :(得分:3)

我最近这样做并使用了http://www.mimec.org/articles/mfc/mctree

中的多列树视图

Screenshot of Multi-Column Tree View

这是相当基本的,但它满足了我的需求并且相当紧凑。它提供了CColumnTreeView类,它是CView的子类 - 因此它可以正常使用MFC的标准C​​Document / CView模式。

答案 1 :(得分:2)

您可以从Process Hacker的来源(这是很多更好的恕我直言)找到Process Explorer的“树列表视图”的完全等价物。

答案 2 :(得分:0)

Qt是一个提供功能齐全的QTreeWidget的库,看起来它符合您的程序要求。
enter image description here

答案 3 :(得分:0)

DevExpress有一些优秀的树形图控件,但它们是用C#编写的。但是,您可以使用C ++ / CLI或托管C ++来定位它们。因此,我不确定您是否能够管理您的应用。所以也许它可能没那么有用。

对于免费的treelist控件,由于错误和缺乏支持,我试图远离它们。