Einzelnen Beitrag anzeigen

toko

Registriert seit: 19. Apr 2005
40 Beiträge
 
#10

Re: in TStringgrid nur erste Zeile mit fettem Text

  Alt 28. Apr 2005, 11:56
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
  Mit Zitat antworten Zitat