マルチデバイス アプリケーション(Windows)で Delphi 10.1 に問題があります。(データベースに接続されてStringGrid
いる)行の背景色を変更できますが、セル間に「パディング」(グレー/シルバー)があるという問題があります。
onformCreate
私は定義します:
stringgrid1.DefaultDrawing := False;
これは私のコードです:
procedure Tlist_form.StringGrid1DrawColumnCell(Sender: TObject;
const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
const Row: Integer; const Value: TValue; const State: TGridDrawStates);
var aRowColor: TBrush;
begin
aRowColor := Tbrush.Create(TBrushKind.Solid,TAlphaColors.Alpha);
if (stringgrid1.Cells[7,row]='1') then
aRowColor.Color := TAlphaColors.Green
else
aRowColor.Color := TAlphaColors.Red;
Canvas.FillRect(Bounds, 0, 0, [], 1, aRowColor);
Column.DefaultDrawCell(Canvas, Bounds, Row, Value, State);
aRowColor.free;
end;
Delphi 6 では、この問題は一度も発生したことがなく、修正方法もわかりません。ありがとうございました。