Hai Lilo,
wenn Du in einem StringGrid die
Formatierung änder möchtest musst Du auch dafür sorgen dass alles gezeichnet wird.
In deinem Code setzt Du nur die Farben aber Du gibst den Text nicht aus
Hier einmal ein Beispiel mit einigen Kommentaren. Ich hoffe das bringt Licht in die Dunkelheit
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;
Zitat von
Lilo:
edit: omg und dann auch noch falsches forum
Es gibt in der
DP die Möglichkeit einen Beitrag dem Team zu melden. Dafür einfach auf das
http://www.sharkys-home.de/dp/melden.jpg oben rechts klicken und schreiben warum Du ihn meldest. Es wird sich bestimmt ein Moderator finden der das dann erledigt
Stephan B.
"Lasst den Gänsen ihre Füßchen"