0

Delphi:TStringGrid のセルのテキストを中央揃えにする方法は?

トップコード(OnDraw部分)を使用すると、最初のテキストが削除されず、古いテキストに新しいテキストが書き込まれ、1つのセルが複製されます。

4

1 に答える 1

2

TCanvas.FillRect新しいテキストを書き出す前に、呼び出しを追加する必要があります。

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  S: String;
begin
  S := StringGrid1.Cells[ACol, ARow];
  StringGrid1.Canvas.FillRect(Rect);
  SetTextAlign(StringGrid1.Canvas.Handle, TA_CENTER);
  StringGrid1.Canvas.TextRect(Rect,
    Rect.Left + (Rect.Right - Rect.Left) div 2, Rect.Top + 2, S);
end;

TStringGrid.DefaultDrawingこれを機能させるには、が に設定されていることも確認する必要があることに注意してくださいFalse

于 2011-07-12T23:55:18.090 に答える