CTreeCtrl在节点前画图的问题

zhangqiushui 2008-06-17 11:24:04
现在想在CTreeCtrl的每个Item前面画一个小矩形图标(但比Item的ImageList的图标要大),原来在节点后面图实现过,简要介绍下方法,每次通过GetItemRect获取每个节点的rect,然后定位到节点后面,画个矩形框。现在希望在节点前面画,按同样的方法,就会造成画的矩形图标覆盖掉节点已有的文字。有没有好方法可以做到在节点前面画,但有不覆盖文字。
现在是想到这个办法,每次插入节点的时候,在文字前面加空格,但是这是没有办法的办法,希望能有更好的办法,
这里先谢过了。
要是有例子,麻烦发到我的信箱aurain@yahoo.cn
...全文
211 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
scq2099yt 2008-06-17
  • 打赏
  • 举报
回复
加空格也可以为矩形留出空位而又不覆盖有效信息
wuqiangu 2008-06-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhangqiushui 的回复:]
因为在自绘之前,树节点的item已经先把文字写上去了
[/Quote]

可以用InvalidateRect()刷新所要绘制的区域,即自动调用
NM_CUSTOMDRAW重新绘制。

抱歉没有具体代码。
zhangqiushui 2008-06-17
  • 打赏
  • 举报
回复
谢谢楼上的,可否有代码,因为在自绘之前,树节点的item已经先把文字写上去了
wuqiangu 2008-06-17
  • 打赏
  • 举报
回复
利用NM_CUSTOMDRAW
小矩形图标的最右边位置开始,进行文字的自绘。
zhangqiushui 2008-06-17
  • 打赏
  • 举报
回复
我这里也说明了,“但比Item的ImageList的图标要大”
zhangqiushui 2008-06-17
  • 打赏
  • 举报
回复
获取前面图标的方法不太好,因为我这里的tree是没加图标的,就算加的话,图标的宽度不够
junheng 2008-06-17
  • 打赏
  • 举报
回复
用GetIconInfo来获取图标的宽度,比如是nWidth。然后rect.DeflateRect( nWidth, 0, 0, 0 );然后再在这个矩形里面绘制文本。GetIconInfo的使用方法我就不介绍了,自己去看MSDN。
这是一般的解决办法。但是我没有在tree里试过,应该可行,你试试看吧。
内容概要:本文系统阐述了基于格子Boltzmann方法(LBM)对二维通道内多孔介质流动进行数值模拟的完整理论体系与实现流程,配套提供了详尽的Matlab代码实现方案。研究深入剖析了LBM在复杂流体系统建模中的独特优势,尤其适用于处理多孔介质等具有不规则微观结构的流动问题。内容涵盖LBM的基本离散化模型、演化方程推导、边界条件(如反弹边界、速度边界)的精确处理、多孔介质结构的数字化建模、关键物理参数(雷诺数、孔隙率、渗透率)的设定与调控,以及流场结果的后处理与可视化技术。通过典型算例的仿真与结果分析,验证了该数值方法在捕捉多孔介质内部流速分布、压力梯度及渗透特性方面的有效性与高精度,为相关领域的科学研究与工程应用提供了可靠的数值实验平台。; 适合人群:具备流体力学、计算物理学或相关学科的基础理论知识,熟练掌握Matlab编程语言,正在从事计算流体力学(CFD)、多孔介质渗流、地下水文学、石油工程、生物流体力学或材料科学等领域研究的硕士/博士研究生、青年科研人员及工程技术专家。; 使用场景及目标:①深入学习和掌握格子Boltzmann方法的核心原理、算法流程及其相较于传统CFD方法的独特优势;②复现学术文献中关于多孔介质流动的经典仿真案例,验证自身研究模型的正确性;③为自身的科研课题开发定制化的数值模拟工具,用于探究多孔结构参数对流体输运性能的影响规律; 阅读建议:建议读者结合提供的Matlab代码逐行研读,重点关注LBM算法中“碰撞”与“迁移”两大核心步骤的编程实现逻辑,动手调试代码以观察不同参数(如松弛时间、网格分辨率)对模拟结果的影响,从而加深对介观尺度流体动力学行为的理解,并为进一步的模型拓展和算法优化奠定坚实基础。

15,976

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧