C/C++教程

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

本文主要是介绍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自带的三种表格控件对比:TStringGrid、TDrawGrid和TListView的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!