gpt4 book ai didi

c++ - 如何在 WTL 的 treeview 控件中包装项目文本

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:17 25 4
gpt4 key购买 nike

我正在维护一个包含 TreeView 的 ATL/WTL 项目。用于 TreeView 的类是 CTreeViewCtrl。现在,客户要求在树项文本离开 View 时换行,但我们可以随时调整 Pane 大小或左右滚动以查看内容。当鼠标指针悬停在树项目上时,它还会在隐藏时显示完整的字符串作为工具提示。

有什么方法可以在树项目或 TreeView 中设置来包装文本内容。

谢谢

最佳答案

有一种方法:在处理来自 TreeView 控件的 NM_CUSTOMDRAW 消息时,自定义绘制 TreeView 的项目,特别是 CDDS_ITEMPOSTPAINT 绘图阶段。

在自定义绘图上,您使用 ::DrawText() 绘制多行文本带有 DT_WORDBREAK 标志。为了有足够的空间供文字使用TVITEMEX结构的 iIntegral 字段。您必须通过将 TVM_SETITEM 消息发送到 TreeView 窗口来指定每个节点的行数,并将指向 TVITEMEX 的指针作为 LPARAM。

每次 TreeView 的时候,您都必须重新计算每个树节点的行数宽度变化 ( WM_SIZE )。

关于c++ - 如何在 WTL 的 treeview 控件中包装项目文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20465667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com