Você está aqui: Delphi ::: VCL - Visual Component Library ::: TStringGrid |
||||
Como usar o evento OnDrawCell para controlar o desenho das células em um TStringGrid do DelphiQuantidade de visualizações: 16265 vezes |
||||
O evento OnDrawCell, definido originalmente na classe TCustomDrawGrid, é disparado quando uma determinada célula do TStringGrid precisa ser desenhada. Este evento possui a seguinte assinatura:
O tipo Grids.TDrawCellEvent apresenta, no Delphi 2009, a seguinte lista de parâmetros:
Vamos ver cada um destes parâmetros separadamente: Sender - Representa a grid na qual a célula está sendo desenhada; ACol, ARow - Índices da coluna e linha na qual a célula está sendo desenhada; Rect - Localização da célula na área de desenho (canvas); State - Um objeto Grids.TGridDrawState que indica se a célula possui o foco (gdFocused), está selecionada (gdSelected) e se a mesma é uma célula fixa (gdFixed). Células fixas permanecem vísiveis quando as barras de rolagem são acionadas. Veja um trecho de código no qual usamos o evento OnDrawCell para colorir de amarelo o fundo de uma determinada célula do TStringGrid:
Para este exemplo deixei o valor da propriedade DefaultDrawing do TStringGrid como true. Isso faz com que o fundo da célula seja pintado antes que o evento DrawCell seja chamado e o efeito 3D das células fixas seja exibido ou o retângulo de foco ao redor da célula que possui o foco no momento seja desenhado após o evento. Experimente executar o exemplo com o valor false para a propriedade DefaultDrawing para ver o resultado. Veja agora um trecho de código no qual definimos a cor vermelha para o texto das células cujo valor inteiro seja menor que 10:
Tenha cuidado para que o valor da célula possa ser convertido para inteiro por meio do uso da função StrToInt(). Caso a conversão não for possível, uma exceção do tipo EConvertError será lançada. |
||||
![]() |
||||
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
MySQL - Como retornar a hora atual no MySQL usando as funções CURTIME(), CURRENT_TIME e CURRENT_TIME() JavaScript - Como testar se todos os elementos de um array satisfazem uma condição em JavaScript usando a função every() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |