Hallo,
@Lannes
Danke, das funktioniert, aber auch nur wenn Rowcount um 1 größer ist als FixedRows.
Dann kommen aber meine ganzen Indezes durcheinander.
Ich habe auch gerade herausgefunden, die fette Schrift über ARow=0 zu setzen ...
Delphi-Quellcode:
procedure TfrmMain.strgrdCDListeDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
var
txtcenter,
txtwidth : integer;
begin
Label1.Caption := 'strgrdCDListe.Row '+IntToStr(strgrdCDListe.Row); //zur Kontrolle
Label2.Caption := 'strgrdCDListe.fixedRow '+IntToStr(strgrdCDListe.FixedRows); // zur Kontrolle
with strgrdCDListe.Canvas do
begin
if (ARow < strgrdCDListe.Fixedrows) or (ACol < strgrdCDListe.Fixedcols) then
Font.Style := [fsBold];
{if ARow=0 then
begin
Font.Style := [fsBold];
Brush.Color := clBtnFace;
end; }
if (ARow>1) and not (Odd(ARow)) then
begin
// Jede zweite farbig
Brush.Color := $00EFEFEF;
FillRect(Rect);
TextOut(Rect.Left+2, Rect.Top+2, strgrdCDListe.Cells[ACol,ARow]);
end;
// Text zentrieren und ausgeben
txtwidth := TextWidth(strgrdCDListe.Cells[ACol,ARow]);
txtcenter := Rect.Left + (Rect.Right - Rect.Left - txtwidth) div 2;
TextRect(Rect,txtcenter,Rect.Top+2,strgrdCDListe.Cells[ACol,ARow]);
end;
end;
Die erste Zeile bleibt dann aber leider nicht stehen
mfg