AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi in TStringgrid nur erste Zeile mit fettem Text
Thema durchsuchen
Ansicht
Themen-Optionen

in TStringgrid nur erste Zeile mit fettem Text

Ein Thema von toko · begonnen am 27. Apr 2005 · letzter Beitrag vom 28. Apr 2005
Antwort Antwort
toko

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

Re: in TStringgrid nur erste Zeile mit fettem Text

  Alt 28. Apr 2005, 00:02
Hallo,

ich habs gerade mal bei mir ausprobiert. Bei werden alle Texte Fett gezeichnet...

Im FormCreate-Ereignis habe ich FixedRows und RowCount des StringGrids auf 1 gesetzt.
Laut OH ist dass soweit ja auch OK

Zitat:
Stellen Sie FixedRows nicht auf einen größeren Wert als RowCount - 1 ein.
Die oberste Zeile bleibt aber erst stehen, wenn ich RowCount auf zwei setzte. Es erscheinen dann aber immer noch alle Texte fett. Verstehe ich ja auch, denn strgrdCDListe. Row verändert sich erst, wenn man eine Zelle des StringGrid mit der Maus markiert. Ich zeig mal den Code ...

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 strgrdCDListe.Row <= strgrdCDListe.FixedRows then
      Font.Style := [fsBold];
    if not Odd(ARow) then
    begin
      // Jede zweite farbig
      Brush.Color := cl3DLight;
      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;
Wie erkennt das DrawCell-Ereignis denn die Veränderung, ohne den Mausclick ?

Danke im voraus!

PS: Eine Frage nebenher. Gibt es eigentlich noch andere Farben, als die Vordefinierten? Ich bräuchte nämlich ein etwas helleres Grau als das obige cl3DLight.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz