Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Stringgrid färben + Schriftfarbe ändern


Phraser - So 24.11.02 13:59
Titel: Stringgrid färben + Schriftfarbe ändern
Hi!

Ich werkel zur Zeit an einem Stringgrid und würde gerne diverse Zellen einfärben sowie in einigen Zellen die Schriftfarbe ändern.
Im Stringgrid befinden sich zur Zeit Werte und durch ButtonClick rufe ich folgende Anweisung auf:


Quelltext
1:
2:
if wettkampf.stringgrid1.Cells[2,2] <> '' then
   canvas.font.color := clred;


Es passiert jedoch nix :(

Wer kann mir helfen?


Keldorn - So 24.11.02 15:33

Hallo,

der Code gehört ins OndrawCell - Ereignis.
Den Text muußt Du aber auch noch ausgeben:


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TForm1.Stringgrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var s:string;
begin
  with (sender as Tstringgrid) do
    begin
      //Zellhintergrund  (jede zweite Zeile blau)
      if (arow mod 2) = 0 then canvas.brush.color:=clblue
                          else canvas.brush.color:=clwhite;
      if gdfixed in state then canvas.brush.color:=fixedcolor;
      canvas.fillrect(rect);

       //bestimmte Spalte rot darstellen
       if acol=2 then canvas.font.color:=clred
                     else  canvas.font.color:=clblack

      canvas.textout(rect.left+2,rect.top+2,s);
    end;
end;


Mfg Frank