Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 2.661 pregleda

Najnovija ↓

StringGrid - boje 06.05.2007. u 08:12 · pre 237 meseci #1
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.
Re: StringGrid - boje 06.05.2007. u 11:53 · pre 237 meseci #2
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)
Re: StringGrid - boje 06.05.2007. u 12:28 · pre 237 meseci #3
Da li si mislio na ovako nešto:



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;
...
Potpis
Someone's sitting in the shade today because someone planted a tree a long time ago.
Re: StringGrid - boje 06.05.2007. u 20:20 · pre 237 meseci #4
Ok! Hvala. Primeri su na mestu.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme