Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

StringGrid - boje

[es] :: Pascal / Delphi / Kylix :: StringGrid - boje

[ Pregleda: 2030 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

brenas
srem

Član broj: 50753
Poruke: 110
*.vdial.verat.net.



Profil

icon StringGrid - boje06.05.2007. u 07:12 - pre 205 meseci
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.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: StringGrid - boje06.05.2007. u 10:53 - pre 205 meseci
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)
 
Odgovor na temu

Miloš Baić
Miloš Baić
ERP (Dynamics NAV) programer
Beograd

Član broj: 72468
Poruke: 1155
*.dialup.neobee.net.



Profil

icon Re: StringGrid - boje06.05.2007. u 11:28 - pre 205 meseci
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;
...

Someone's sitting in the shade today because someone planted a tree a long time ago.
Prikačeni fajlovi
 
Odgovor na temu

brenas
srem

Član broj: 50753
Poruke: 110
213.244.197.*



Profil

icon Re: StringGrid - boje06.05.2007. u 19:20 - pre 205 meseci
Ok! Hvala. Primeri su na mestu.
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: StringGrid - boje

[ Pregleda: 2030 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.