【发布时间】:2010-07-14 11:56:18
【问题描述】:
我正在尝试根据单元格内容和位置格式化 Delphi TStringgrid。
虽然我可以根据单元格内容更改单元格颜色和形状,但我在单元格边框方面遇到了更多问题。
我希望能够在每 n 列的一侧或另一侧有一个较厚的单元格边框
任何指针?
干杯
丹
【问题讨论】:
标签: delphi delphi-2010 tstringgrid
我正在尝试根据单元格内容和位置格式化 Delphi TStringgrid。
虽然我可以根据单元格内容更改单元格颜色和形状,但我在单元格边框方面遇到了更多问题。
我希望能够在每 n 列的一侧或另一侧有一个较厚的单元格边框
任何指针?
干杯
丹
【问题讨论】:
标签: delphi delphi-2010 tstringgrid
只需扩展您正在绘制的 TRect 的边界。仅仅因为 OnDrawCell 事件为您提供了一个特定的 TRect 并不意味着您仅限于这些坐标。您可以访问整个网格的 UI 以进行绘制。因此,只需在需要的地方画出额外的线条即可。
【讨论】:
对于单元格边框,只需使用与用于 FillRect 相同的 TrectF 的 DrawRect(TrectF,0,0,[],1,TSrokeBrush)...
如果你想在不同的边上使用不同的边框,请使用 draw
Canvas.DrawLine(Tpointf.Create(Column.Position.X,row * StrGrid.RowHeight),TPointF.Create(column.Width,row * StrGrid.RowHeight),1,Brush);
我希望这会有所帮助。
【讨论】: