2

マルチデバイス アプリケーション(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 では、この問題は一度も発生したことがなく、修正方法もわかりません。ありがとうございました。

4

1 に答える 1