TStringGrid画多层表头的方法?(50分)

  • 主题发起人 主题发起人 ego
  • 开始时间 开始时间
E

ego

Unregistered / Unconfirmed
GUEST, unregistred user!
相信大家都见过DBGridEh吧,它的表头是可以多层显示的。现在我想在TStringGrid中实现多层表头,
但找不到好办法。请大家讨论讨论,发散发散偶的思路。
ps:让偶去看DBGridEh源码的就别说了,偶看了一晚上,KAO,DrawCell部分恶长......偶头昏。
希望大家说得不要太简单。有实践方法最好。 ^_^
 
没有人理......真奇怪,大家显示数据的时候难道都不用多层表头的?
 
TStringGrid没有过这个功能啊
 
>>TStringGrid没有过这个功能啊
faint!我当然知道TStringGrid没这个功能!所以我才要提问怎样才能实践这个功能。
我知道这种功能只有通过自绘操作才能实现,但问题是我没有什么好办法来实现!
在DrawCell中画可以模拟,但这是治标不治本的办法,原因很简单:
TStringGrid重绘时只刷新了可视部分的单元格,不可视的部分它会忽略,如果此时有一个合并的单元格
正好处在视的一半时,合并(其实是重绘)就会出错!
这个问题我想一天也没有什么好办法,看DBGridEh的源码,又看得头昏 :(
谁有好办法啊?
 
你没有注意一个重绘时的重要问题, UpdateRect = canvas.ClipRect;
和 ScrollWindowEx。
好好研究代码还是有用的,不要嫌头疼,如果要做控件,必须能够有几天不
睡觉把你要模拟的控件代码研究透, 这是我的意见。
 
不要用TStringGrid了,自己写一个控件吧,
算法是相当重要的,关键的是你看到的东西怎么在内存中存在,
和需要显示的时候,怎么将内存表示转换为图形表示
 
suny:
谢谢!我试试再说。

>>不要用TStringGrid了,自己写一个控件吧
哇,ego倒吸一口凉气......
 
真失败,回去研究了老半天,最后......还是没结果......
哪个高手老大详细指点一下啊......
 
估计没结果了,算了吧!
 
后退
顶部