如何防止 CTreeCtrl 的 OnCustomDraw 在我的画上画默认画
Posted
技术标签:
【中文标题】如何防止 CTreeCtrl 的 OnCustomDraw 在我的画上画默认画【英文标题】:How to prevent OnCustomDraw of CTreeCtrl from painting Default painting on my painting 【发布时间】:2010-12-06 10:36:28 【问题描述】:我创建了一个 CTreeCtrl,但我需要在红色空心框中标记一些项目。 所以我创建了函数 OnCustomDraw 并在项目周围画了一个红色框。红框出现,但文本部分和图像部分绘制在红框的顶部,因此无法看到框的某些部分。我猜默认绘画覆盖了我的绘画。谁能告诉我我的画将如何超越默认画。
【问题讨论】:
【参考方案1】:我认为你应该在正确的舞台上绘画。 CDDS_ITEMPOSTPAINT
似乎是个不错的选择。 Here 你会找到更多相关信息。
【讨论】:
谢谢老兄,这正是我所需要的。【参考方案2】:您应该插入一个项目(您的绘图可能作为位图和您的文本)而不是只更新您的绘图。
【讨论】:
以上是关于如何防止 CTreeCtrl 的 OnCustomDraw 在我的画上画默认画的主要内容,如果未能解决你的问题,请参考以下文章
如何在运行时创建的 MFC 中获取 Treeview(CTreeCtrl) 的 Click 事件?
调用 SelectItem 函数时如何强制 CTreeCtrl 不滚动到项目?