Fórum Cor de Coluna em StringGrid #164177
02/06/2003
0
Boa Tarde Pessoal
Estou precisando saber como eu coloco cor para cada coluna que desejar no Stringrid.
Grato Bruno Terossi
Estou precisando saber como eu coloco cor para cada coluna que desejar no Stringrid.
Grato Bruno Terossi
Bterossi
Curtir tópico
+ 0
Responder
Posts
12/08/2018
Daniel Araújo
Vê se isso te ajuda Bterossi:
https://www.devmedia.com.br/forum/alterar-a-cor-de-somente-uma-celula-no-string-grid/287681
https://www.devmedia.com.br/forum/alterar-a-cor-de-somente-uma-celula-no-string-grid/287681
Responder
Gostei + 0
13/08/2018
Felipe Morais
Bterossi,
Para alterar as cores do StringGrid é preciso codificar o evento OnDrawCell. O exemplo abaixo foi feito no Delphi 7 e funciona até na versão mais recente (Tokyo). Crie uma nova aplicação, insira um StringGrid e cole o código abaixo:
Ainda do evento OnDrawCell você pode desenhar como o texto pode ser escrito, seus estilos e alinhamentos. Espero ter ajudado, abraço!
Para alterar as cores do StringGrid é preciso codificar o evento OnDrawCell. O exemplo abaixo foi feito no Delphi 7 e funciona até na versão mais recente (Tokyo). Crie uma nova aplicação, insira um StringGrid e cole o código abaixo:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
// Se for a segunda coluna do Grid (a primeira coluna é 0);
if (ACol = 1) then
begin
// Altera a cor do pincel para amarelo;
TStringGrid(Sender).Canvas.Brush.Color := clYellow;
end;
// Se for a terceira coluna do Grid;
if (ACol = 2) then
begin
// Altera a cor do pincel para amarelo;
TStringGrid(Sender).Canvas.Brush.Color := clRed;
end;
// Preenche a célula do Grid com o pincel;
TStringGrid(Sender).Canvas.FillRect(Rect);
end;
end.
Ainda do evento OnDrawCell você pode desenhar como o texto pode ser escrito, seus estilos e alinhamentos. Espero ter ajudado, abraço!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)