[ brenas @ 06.05.2007. 07:12 ] @
if Odd(ACol) then
If (ACol > 0) and (ARow>0) then
begin
SG1.Canvas.Brush.color := clGreen;
SG1.Font.Color:=clBlack;
end;
SG1.canvas.FillRect(Rect );

Ovaj kod smesten u event "OnDrawCell" lepo oboji Grid, ali mi nema slova(podataka) koji treba da se nalaze u Gridu. Mozda sam temu trebao da nazovem "i glupan i tupan istovremeno" - u svakom slucaju bio bi zahvalan za neko prakticno objasnjenje.
[ X Files @ 06.05.2007. 10:53 ] @
Koliko vidim, uopste nemas taj ispis teksta, pa se zato ne vidi.

Dakle, treba ti nesto ovako /c++ kod/:
Code:

     SG1->Canvas->TextRect( Rect, Rect.Left, Rect.Top, SG1->Cells[Col][Row] );

... a ti prevedi za Delphi.

To bi trebalo da bude poslednja linija OnDrawCell kodu. Takodje proveri da li su ti
blokovi begin/end pravilno postavljeni u tvom primeru.

P.S.

Evo ti i parce koda:
http://www.bcbjournal.org/bcbcaq/CAQs/caq48.htm
... koje malo preciznije opsiuje kako se treba pristupiti farbanju TStringGrid-a.
(kod je takodje za C++, ali je bas trivijalno prevesti ga za Delphi)
[ Miloš Baić @ 06.05.2007. 11:28 ] @
Da li si mislio na ovako nešto:

[att_img]

Ako da, mogao bi to ovako:
Code:

//OnDrawCell
...
var
  dx: Integer;
begin
  with (Sender as TStringGrid) do
  begin

    if (ACol = 0) or (ARow = 0) then
      Canvas.Brush.Color := clBtnFace
    else
    begin
      case ACol of
        1: Canvas.Font.Color := clBlack;
        2: Canvas.Font.Color := clBlue;
      end;

      if ARow mod 2 = 0 then
        Canvas.Brush.Color := $00E1FFF9
      else
        Canvas.Brush.Color := $00FFEBDF;
      Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, cells[acol, arow]);
      Canvas.FrameRect(Rect);
    end;
  end;
...
[ brenas @ 06.05.2007. 19:20 ] @
Ok! Hvala. Primeri su na mestu.