c++ - TreeListView 控件

标签 c++ winapi mfc windows-controls

我需要像在 Process Explorer 中一样实现 TreeList 控件。 我是 GUI 新手,没有写过这么复杂的控件。

正如我在 Process Explorer 中看到的,有一个 TreeListWindowClass,它包含子项: 2 个标题、3 个滚动条(其中一个不可见?)和 1 个静态(位于可见滚动条之间)。 据我了解,主控件在其内部绘制所有项目。 我也没有在附加的 dll 中找到 mfcxxx.dll。

问题一:用什么框架比较好? 有:MFC、WTL、plain WinAPI …… 我看了一下这个实现 http://www.codeguru.com/cpp/controls/treeview/classes/article.php/c13167并与结构庞大的 cpp 文件中超过 8000 行的代码混淆(其中一个包含 80 个成员)。 它是普通的 WinAPI(和没有++ 的 C)。 我绝对想使用 OOP 风格。 =)

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

我的限制:C++、VS10、操作系统:Vista 及更高版本。

提前致谢

最佳答案

我最近这样做并使用了来自 http://www.mimec.org/articles/mfc/mctree 的多列 TreeView

Screenshot of Multi-Column Tree View

它是相当基础的,但它满足了我的需要并且相当紧凑。它提供了 CColumnTreeView 类,它是 CView 的子类 - 因此它可以与 MFC 的标准 CDocument/CView 模式一起正常工作。

关于c++ - TreeListView 控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385231/

相关文章:

c++ - 为 C++ 示例设置基本 Esent

python - 尝试找到一个列表框以便向其发送消息

c++ - 使用对话框中的按钮选择 MFC 中的形状

visual-c++ - 在 mfc 中单击按钮时更改编辑框内容

c++ - 在 C++ 中使用结构数组的元素

python - C++ 和 Python 之间相等含义的区别的根源是什么?

c++ - kiosk 模式下的 Qt 应用程序

c++ - 在 Windows 中使用 C++ 截取窗口截图的最佳方法是什么?

c++ - Windows 监听服务状态已更改

c++ - 如何使用 Visual Studio 2012 和 Windows SDK 7.1 编译 VC++ 2010 项目