C++ Builder自带的三种表格控件对比:TStringGrid、TDrawGrid和TListView

StringGrid表格最简单,单元格按照[x][y],不是按照二维数组的行列。
StringGrid表格默认只能显示字符串,也可以自绘。
DrawGrid表格要自绘,显示文字图像都可以。
还有Win32风格的ListView表格,用法不同。
数据库有专门的表格,自动感应数据的。如果要手动填充数据用StringGrid或ListView也可以。
如果行列要动态增加或不确定行数列数,用ListView比较方便。
Windows资源管理器就是ListView(VCL封装的类名TListView,SDK叫法不同),可以表格也可以图标四种显示模式。
StringGrid也可以用代码动态设置行数列数,但一般不会频繁设置,好比new一个二维数组。
————————————————————
当表格项目很多的时候(成千上万行),为什么DrawGrid比StringGrid速度快?
【DelphiGuy】:
StringGrid会维护其中的数据(需要占用内存),必要时重绘,DrawGrid不维护数据,需要用户自己绘制。
DrawGrid占用的内存基本是恒定的,它只维护grid的外观,每个格子显示什么内容它不管,需要用户在OnDrawCell事件中绘制。
————————————————————
StringGrid高版本FixedColor无效的问题,某网友:
StringGrid1->DrawingStyle = gdsClassic; //BCB6.0不需要
StringGrid1->FixedColor = clBlue; //这个是蓝色

C++Builder(BCB)学习群(QQ)
https://www.cnblogs.com/ustone/p/16855586.html

posted @ 2021-12-06 17:22  ustone  阅读(1806)  评论(0编辑  收藏  举报