Я полагаю, это лучший метод:
procedure TForm1.GridSumaDrawCell(Sender: TObject; ACol, ARow: Longint; ARect: TRect; State: TGridDrawState); var dx : integer; begin with (Sender as TStringGrid).Canvas do begin Font := GridSuma.Font; Pen.Color := clBlack; if (ACol = 0) or (ARow = 0) then begin { Рисуем заголовок } Brush.Color := clBtnFace; FillRect(ARect); TextOut(ARect.Left, ARect.Top, GridSuma.Cells[ACol, ARow]) end else begin { Рисуем ячейку с правым выравниванием } Brush.Color := clWhite; FillRect(ARect); dx := TextWidth (GridSuma.Cells[ACol, ARow]) + 2; TextOut(ARect.Right - dx, ARect.Top, GridSuma.Cells[ACol, ARow]) end end end; |
[001605]