Como Colorir uma celula do Grid
ai pessoal como faço pra colorir uma celula especifica de um grid (StringGrid por exemplo) quando alguma condição for satisfeita
por exemplo
for i:= 1 to 35 do
begin
x:=random(10);
if(x<>i)
begin
colorir a celula [i,x]
end;
end;
valeu Hebinho
por exemplo
for i:= 1 to 35 do
begin
x:=random(10);
if(x<>i)
begin
colorir a celula [i,x]
end;
end;
valeu Hebinho
Hebinho23
Curtidas 0
Respostas
Smash
08/11/2003
Utilize o evento DrawCell, ele é acionado uma vez para cada célula desenhada
GOSTEI 0
Michel
08/11/2003
Colega da uma olha e testa fica legal !!1
t+
procedure TForm6.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Vermelho, Verde, Azul: byte;
MinhaCor : TColor;
begin
Vermelho:= 240;
Verde:= 240;
Azul:= 230;
MinhaCor := TColor(RGB(Vermelho, Verde, Azul));
If odd(ADOQuery1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= MinhaCor;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clinfobk;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
t+
procedure TForm6.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var Vermelho, Verde, Azul: byte;
MinhaCor : TColor;
begin
Vermelho:= 240;
Verde:= 240;
Azul:= 230;
MinhaCor := TColor(RGB(Vermelho, Verde, Azul));
If odd(ADOQuery1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= MinhaCor;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clinfobk;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
GOSTEI 0