怎么让StringGrid的内容居右或居中

解决方案 »

  1.   

    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    var
      CellStr: String;
      Mode: Integer;
    begin
     if ACol=1 then
      Mode := DT_RIGHT  //dt_center举中
     else
      Mode := DT_CENTER;
      Rect.Top := Rect.Top + 3;  //否则字体顶到头了
      CellStr := StringGrid1.Cells[ACol,ARow];
      self.StringGrid1.Canvas.FillRect(Rect); //覆盖以前的字体
      DrawText(StringGrid1.Canvas.Handle,PChar(CellStr),Length(CellStr),Rect,Mode);
     end;
    我试过没问题的