Hai fredo1234,
ersteinmal: "Herzlich Willkommen in der Delphi-PRAXiS".
Du musst dafür das Ereigniss
OnDrawCell deines StringGrids verwenden.
Hier einmal ein Beispiel das alles erklären sollte
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: integer;
Rect: TRect; State: TGridDrawState);
var
celltext: string;
begin
with (Sender as TStringGrid) do
begin
celltext := Cells[ACol, ARow];
if (ACol = 1) and (ARow = 1) then // Nur für Celle 1:1
begin
canvas.Brush.Color := clred; // Hintergrundfarbe
canvas.Font.Color := clblue; // Schriftfarbe
end;
if (ARow = 3) then // Für die dritte Zeile
begin
canvas.Font.Style := canvas.Font.Style + [fsBold];
end;
if (ACol = 2) then
begin
canvas.Brush.Color := clGreen;
end;
// Hier beginnt nun das Zeichnen:
Canvas.FillRect(Rect); // Hintergrund zeichnen
DrawText(Canvas.Handle, PChar(celltext), Length(celltext),
Rect, DT_SINGLELINE); // Textausgeben
// Optional kann der Text auch Zentriert werden.
// dann mit diesem Parameter;
// DT_SINGLELINE or DT_Center or DT_VCENTER
end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"