DELPHI PARA

INICIANTES

APRENDA DELPHI

Torne-se um programador de sucesso!

Mudar a Cor da Linha do DBGrid no Delphi

Muitos programadores que estão iniciando e até alguns mais avançados, têm dificuldade em mudar a cor da linha do DBGrid no Delphi. Um dos fatores que confundem um pouco, é qual evento utilizar. Então vamos lá!

O DBGrid, é o primeiro componente que aparece na paleta Data Controls na IDE do Delphi. É um dos componentes mais utilizados pelos programadores e está presente na maioria dos projetos desenvolvidos.

Isso se deve ao fato da facilidade e simplicidade em listar para o usuário os dados contidos em uma determinada tabela no banco de dados.

Mudar a cor da linha do DBGrid no Delphi

Um fator muito importante para o seu projeto, além da funcionalidade, é a aparência das suas telas. Utilizar combinação de cores em determinadas situações ajuda muito. Veja abaixo como mudar a cor da linha do DBGrid no Delphi.

No exemplo a seguir, vou utilizar uma tabela de produtos com a seguinte estrutura:

mudar-a-cor-da-linha-do-dbgrid-no-delphi-4

A tabela contém os seguintes produtos cadastrados:

Mudar a cor da linha do DBGrid no Delphi

COMO MUDAR A COR DA LINHA DO DBGRID NO DELPHI
1. DBGrid na sua cor original
Mudar a cor da linha do DBGrid no Delphi
2. Evento a ser programado: OnDrawColumnCell
Mudar a cor da linha do DBGrid no Delphi
3. Código a ser programado no evento OnDrawColumnCell
Mudar a cor da linha do DBGrid no Delphi

Copie abaixo o código e cole no evento OnDrawColumnCell:

{alterando a cor da linha atual selecionada}
if (gdSelected in State) or (gdFocused in State) then

    TDBGrid(Sender).Canvas.Brush.Color:=clGradientInactiveCaption
       else TDBGrid(Sender).Canvas.Brush.Color:=clWindow;

{alterando a cor da fonte dos produtos cancelados}
if cdsProdutosCANCELADO.AsString=’S’ then {substituir pela sua condição}

    TDBGrid(Sender).Canvas.Font.Color:=clRed
        else TDBGrid(Sender).Canvas.Font.Color:=clBlack;

{alterando a cor da fonte da coluna “CÓDIGO”}
if DataCol=0 then

TDBGrid(Sender).Canvas.Font.Color:=clGreen;

{alterando a cor de fundo da coluna “VALOR”}
if DataCol=2 then

TDBGrid(Sender).Canvas.Brush.Color:=clAqua;

{atualizando a visualização do DBGrid}
Grid.Canvas.FillRect(Rect);

TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);

4. Resultado final – DBGrid personalizado
Mudar a cor da linha do DBGrid no Delphi

Conclusão:

Utilizamos o componente nativo do Delphi, DBGrid, e alteramos a cor da fonte da coluna “CÓDIGO” para clGreen. Alteramos a cor de fundo da coluna “VALOR” para clAqua. Alteramos a cor da linha atual selecionada para clGradientInactiveCaption e alteramos a cor da fonte do produtos cancelados para clRed. Toda a programação feita foi no evento OnDrawColumnCell do DBGrid.

Download do Projeto Utilizado no Exemplo

Espero que tenham gostado. 😀

Dúvidas? Deixe seu comentário abaixo.


QUER APRENDER A PROGRAMAR EM DELPHI? CLIQUE AQUI!