已解決:我正在嘗試使用 onDrawColumnHeader 更改 FMX StringGrid 上列標題的背景顏色。我可以更改列標題顏色,但我丟失了標題文本和標題網格線。
更改列標題的背景顏色以便我仍然可以看到文本和網格線的正確方法是什么?
這是我正在使用的代碼:
procedure TfrmCustomers.GridDrawColumnHeader(Sender: TObject; const Canvas: TCanvas;
const Column: TColumn; const Bounds: TRectF);
begin
//Exit;
Canvas.Fill.Kind := TBrushKind.Solid;
Canvas.Fill.Color := TAlphaColors.LightBlue;
Canvas.FillRect(Bounds,1);
end;
object lytGrid: TLayout
Align = Client
Padding.Left = 2.000000000000000000
Padding.Top = 2.000000000000000000
Padding.Right = 2.000000000000000000
Padding.Bottom = 2.000000000000000000
Size.Width = 640.000000000000000000
Size.Height = 398.000000000000000000
Size.PlatformDefault = False
TabOrder = 2
object Grid: TStringGrid
Align = Client
CanFocus = True
ClipChildren = True
Size.Width = 636.000000000000000000
Size.Height = 394.000000000000000000
Size.PlatformDefault = False
StyleLookup = 'GridStyle1'
TabOrder = 2
RowCount = 55
OnDrawColumnHeader = GridDrawColumnHeader
Viewport.Width = 616.000000000000000000
Viewport.Height = 353.000000000000000000
end
end
這是淺藍色列標題的螢屏截圖:

uj5u.com熱心網友回復:
我需要將 Canvas.Filltext 合并到流程中。
這是我最終想出的代碼。它對居中的列標題有一個很好的小副作用。棘手的一點是弄清楚如何獲取列標題文本。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/484336.html
下一篇:如何確定陣列中最常出現的數字?
