Anda di halaman 1dari 2

Customizando a aparncia de um Grid em Delphi - parte 1

As tabelas - ou grids - so um recurso bastante usado em aplicaes Delphi, principalmente aquelas que implementam acesso a informaes em bancos de dados e que, portanto, fazem uso dos grids para tabular registros do banco de dados. O funcionamento padro dos Grids em Delphi do conta de exibir corretamente as informaes associadas a eles, sem precisar de muito configurao. No geral, basta alimentar as clulas internas (no TStringGrid) ou ajustar as fontes de dados e queries (no TDBGrid) para ter um Grid funcional, exibindo seu contedo em linhas e colunas e permitindo navegao. H situaes, no entanto, que o funcionamento bsico no o bastante. Um dos mdulos disponveis no ERP da ABC71, por exemplo, um MRP II que faz uso intensivo de grids para exibir informaes relacionadas ao Planejamento de Produo. Nestes grids necessrio dar destaque a clulas cujo contedo exija uma ateno diferenciada - falta de saldo de um produto, por exemplo. Uma outra situao, esta mais convencional, seria mostrar crditos em azul e dbitos em vermelho num grid com dados do Balano. H um evento nos grids com o nome de OnDrawCell (ou OnDrawDataCell, no DBGrid) e que foi projetado justamente para permitir a customizao da aparncia desses grids. Antes de seguir falando sobre o evento em si, necessrio introduzir um conceito indispensvel para podermos codificar a nova aparncia. Em Delphi e C++ Builder, todos os componentes visuais (aqueles que aparecem na tela quando o programa executado) so construdos em cima de uma tela de pintura chamada Canvas. Um Canvas uma matriz de pontos - os pixels - que cobre toda a altura e largura reservada para o componente. Cada ponto tem sua prpria cor, de modo que podemos dar ao componente a aparncia que quisermos apenas preenchendo os pontos de acordo com o desejado. No Delphi e no C++ Builder, os Canvas so instncias da classe TCanvas, que na verdade encapsulam chamadas a uma biblioteca da API do Windows denominada GDI+. O GDI+ a responsvel pelos grficos do Windows, incluindo o desenho de textos, linhas e imagens alm de transmitir corretamente esses grficos para a mdia a que se destinam (a tela do computador ou o papel numa impressora, por exemplo). O TCanvas disponibiliza funes para desenho de linhas e polgonos, preenchimento de reas com cores e padres, desenho de textos e renderizao de imagens j prontas. As principais propriedades do TCanvas e a utilidade de cada uma descrita na lista abaixo: Brush: O Pincel usado para configurar cores e padres de preenchimento de reas. Os padres permitidos incluem alguns valores predefinidos e a possibilidade de espeficar um Bitmap como modelo. Funes do TCanvas que desenham a cor de fundo (como o Rectangle, que um retngulo preenchido) tambm usam as propriedades definidas no Brush para fazerem o preenchimento. Pen: A Caneta define como ser feito o desenho de linhas, incluindo a cor dos pontos que a comporo, a largura da linha e um padro de desenho (linha cheia, pontos, traos, etc.). As funes que desenham polgonos tambm usam a configurao do Pen para

traar as linhas que limitam o polgono (como no caso do Rectangle) Font: A Fonte permite estabelecer as caractersticas dos textos que sero desenhados, incluindo a famlia da fonte (Arial, Courier, etc.), o tamanho e cor das letras, se ter alguma decorao extra (negrito, itlico, etc.). Usada pelas funes relativas ao desenho de textos como TextOut. CopyMode: Essa propriedade usada quando se faz cpia de partes (ou o todo) de um Canvas para outro. Ela afeta o modo como essa cpia feita, determinando o tipo de combinao entre os pontos existentes em cada Canvas. Isto , se as cores dos pontos no Canvas de origem apenas substituiro aqueles existentes no destino ou se ser aplicado algum operador lgico ou uma outra regra de combinao. Como resultado, pode-se conseguir uma srie de efeitos. Pixels: Cada um dos pontos que compem a tela de pintura pode ser acessado individualmente atravs dessa propriedade. Ela um array bidimensional (largura e altura da rea de pintura) que permite mudar a cor mantida em cada ponto. Usar a propriedade Pixels til quando se quer traar os pontos determinados por uma funo matemtica - algo como y = f(x). Consulte a documentao do TCanvas para maiores detalhes sobre essas propriedades e as funes existentes. No prximo post, volto com o exemplo dos Grids customizados para mostrar na prtica o uso do Canvas. Mais Documentao do GDI+ Informaes

Anda mungkin juga menyukai