关于TreeView的 CustomDrawItem 的问题。 急急急!!!!!!(100分)

  • 主题发起人 主题发起人 苍鹰
  • 开始时间 开始时间

苍鹰

Unregistered / Unconfirmed
GUEST, unregistred user!
用TreeView 的OnCustomDrawItem,对TreeView Item 增加显示
可是水平滚动条,水平滚动的时候总是有问题,不知道如何解决,望高手指点。
而且水平滚动条显示时机也不对。
具体的也就是在item的显示文字后再显示一写东西。
Delphi6 自带的例子 ../Delphi6/Demos/CustomDraw目录下的这个例子也有这个问题
是不是Delphi的Bug 搜索以前的帖子没有找到相关的解决方法。
如果有那位高手知道如何解决请写详细点,本人万分感谢!!!!!
 
说清楚点
1
到底示什么问题啊
 
以上提问没有写详细,现在详细说一下:
具体的就是水平滚动条出现的时候,拖动水平滚动条,TreeView的显示出现重影,
而且水平滚动条出不出现是 Item.text的内容的最大长度决定,
例如要显示如下内容的 Tree
--caption
|___Text1 ***********
|___Text2 ***
..........

* 号 表示我自己在OnCustomDrawItem 绘制到Canvas上的东西,有图片也有文字。
可是到TreeView的宽度小于 * 最后的位置的时候,水平滚动条也不出现,直到其 Width
小于 最大Item.Text的位置的时候才会出水平滚动条,而且水平滚动条出现后拖动它,TreeView上显示的内容出现重影,好象是没有清画布一样(清除是有的),垂直滚动条就没有这个问题, 请教如何让水平滚动条正确出现,并且托动的时候没有重影。
Delphi6 自带的例子 ../Delphi6/Demos/CustomDraw目录下的这个例子也有这个问题,
大家可以看看。

 
不太清楚,既然delphi有这个bug,可能不太好处理
 
大富翁没有高手吗? 怎么这么久了一个建议性的回复都没有,
还是我的问题没说清楚! ?????????????
 
你的这个就是类似于Tree+List 建议使用 VirtualTreeView 2ccc有down
自己控制在MeasureItem的地方做一下手脚(如果没有记错的话),就是计算Item的大小的地方
 
VirtualTreeView, 我已经下载下来了。 但要xp什么东西,是不是版本太高,
支持XP风格的,要一个XP什么包,具体的我忘记了, 那里有关于这个控件的
使用说明(中文)的,或者程序例子
 
后退
顶部