DBGrid组件如何确定要显示的初始列宽?

时间:2011-03-27 01:09:37

标签: delphi delphi-2006

我在DBGrid(实际上是TMS的DBGrid)中保存/重新加载col宽度时遇到了困难。 TMS包含保存/重新加载col宽度的内置方法,它们正常工作(我可以读取ini文件中的值)。但是,我的代码中的某个地方会覆盖存储的值。我不太清楚如何确定col宽度能够调试问题。

网格最终连接到ClientDataSet文件。

1 个答案:

答案 0 :(得分:5)

TColumn有一个名为DefaultWidth的方法,特别是在宽度未明确分配给列时调用(对于动态创建的网格列,这是正确的)。

基本上,它使用列的关联字段的显示宽度(以字符为单位),并使用相应的字体将其乘以0字符的宽度(以像素为单位)。

然后将结果与标题的宽度(以像素为单位)进行比较,并返回更大的值。