dbgrid 列 delphi

Posted

技术标签:

【中文标题】dbgrid 列 delphi【英文标题】:dbgrid columns delphi 【发布时间】:2013-03-03 14:29:50 【问题描述】:

我想知道如何在 dbgrid delphi 垂直中显示列标题。在这个阶段,标题有点长,我想垂直显示它们。我使用的是delphi 2010,对象检查器中没有任何内容可以设置垂直或90度的任何对齐设置。任何帮助将不胜感激。

【问题讨论】:

至少在 Delphi 2009 中,有 Font.Orientation 属性,如果您设置为 900(等于 90°)将垂直渲染字体。问题是如何增加标题的高度或如何重新定位渲染的标题,最好还是为此设置所有者绘制事件。 font.Orientation 将 dbgrid 本身的字体更改为垂直,而不是列标题。 @Pierre:您可以直接设置列标题的字体。编辑Column,展开Title,展开Font。您还可以使用TitleFont 属性为整个DBGrid 设置它。 【参考方案1】:

你可以通过做几件事来做到这一点:

TDBGrid.TitleFont.Orientation设置为900,即90度。

使用插入器类更改TDBGrid 第一个(列标题)行高。 interposer 类使您可以访问网格的RowHeights 属性,该属性未在TDBGrid 中发布:

执行 类型 ThackGrid=类(TDBGrid); 过程 TForm1.FormCreate(Sender: TObject); 开始 THackGrid(DBGrid1).RowHeights[0] := 300; 结尾;

计算RowHeights[0] 使用的适当高度是留给您的练习。 :-) 正如@TLama 在他的评论中所说,你最好自己绘制网格以获得文本的正确拟合和对齐;如何做到这一点将是另一个问题(但已经存在这样做的示例,因此请确保在询问之前先查看它们)。

【讨论】:

以上是关于dbgrid 列 delphi的主要内容,如果未能解决你的问题,请参考以下文章

dbgrid 列 delphi

delphi 中的DBGRID列之间自动计算如何写程序

在DBGrid增加一列CheckBox(而非DBCheckBox)

Delphi DBGrid 获取焦点几行和几列

Delphi DBgrid 换行 Word 内容

给DBGrid动态赋值后,如何用程序指定某行某列为当前焦点?(100分)