Desenvolvimento - Visual Fox Pro
Implementando a nova “Barras de Dados” do Excel 2007 no Grid do Microsoft Visual FoxPro
Nesta coluna irei apresentar uma classe que desenvolvi chamada Office_DataBars. A classe é para ser usada junto com o Grid do VFP. Essa classe cria as Barras de Dados para uma determinada coluna do Grid.
por Rodrigo Duarte BruscainOlá, o novo Excel 2007 que faz parte do Microsoft Office 2007 veio com dezenas de recursos novos, mas um dos recursos visuais que se destacam mais é a formatação condicional que é composta por três funcionalidades: Barras de Dados, Escalas de Cor e Conjuntos de Ícones. Esses recursos servem para apresentar os dados da coluna de forma dinâmica e visual.
Nesta coluna irei apresentar uma classe que desenvolvi chamada Office_DataBars. A classe é para ser usada junto com o Grid do VFP. Essa classe cria as Barras de Dados para uma determinada coluna do Grid. Não é necessário ter o Excel instalado, pois nenhum tipo de automação será necessária. Será necessária somente a gdiplus.dll e vale destacar que podemos utilizar esta classe nas versões 8 e 9 do VFP.
O detalhamento do código fonte da classe não vou apresentá-lo nesta coluna porque é extenso, vou apenas mostrar como utilizar a classe. No fim do artigo o código fonte completo da classe e dos exemplos estão disponibilizados para download.
Figura 1 – Formatação Condicional do novo Excel 2007
Para demonstrar o uso da classe Office_DataBars foram criados dois exemplos.
Veja abaixo:
Figura 2 – Exemplo 1 do uso da “Barras de Dados” no Excel 2007
Figura 3 – Exemplo 1 do uso da “Barras de Dados” no Grid do VFP
Quando um valor da coluna é alterado o tamanho da barra em degrade é redimensionado. O redimensionamento é feito com base no maior valor existente nas linhas da coluna. Quando o valor da maior coluna é alterado, todas as barras em degrade da coluna são redimensionadas.
Observando a figura 3, temos a 4a. linha do Grid com o maior valor que é 93,03. Na figura 4 abaixo alteramos esse valor para 200,00 vamos ver como ficou:
Figura 4 – Exemplo 1 do uso da “Barras de Dados” no Grid do VFP – Maior valor alterado
Veja abaixo mais um exemplo, este agora com 3 colunas com as Barras de Dados.
Figura 5 – Exemplo 2 do uso da “Barras de Dados” no Excel 2007
Figura 6 – Exemplo 2 do uso da “Barras de Dados” no Grid do VFP
Funcionamento
A classe adiciona a Barra de Dados para cada linha do Grid, ou seja, se o Grid tem 500 linhas serão incluídas 500 Barras de Dados. Dessa forma fica claro que um Grid com muitas linhas não é viável a utilização desse recurso pelo VFP, isso porque muitos objetos serão instanciados na coluna do Grid e isso pode causar lentidão na aplicação. Logicamente por se tratar de um recurso visual deve-se usá-lo em Grids com poucas linhas.
É necessário que o controle da coluna do Grid seja um campo Textbox. Este Textbox será substituído pelos controles da classe, então, qualquer código adicionado aos métodos do Textbox não funcionarão na classe. Para isso, esses métodos devem ser ajustados para trabalhar com a função BINDEVENT().
Vamos ver abaixo como adicionar as Barras de Dados no Grid do VFP.
Figura 7 – Configuração das Propriedades da classe Office_DataBars
FOL_Load() Carrega as Barras de Dados para todas as linhas do Grid. VOC_Symbol Texto para ser apresentado junto ao valor da célula. Ex: R$, KG, PC. VOL_RightClickMenu Abilita ou não menu em tempo de execução para interagir com as Barras de Dados. Se abilitada as opções definidas no menu serão salvas no arquivo FCVFP.XML na pasta TEMP do Windows. Essas opções serão carregadas automaticamente ao iniciar a classe. VOL_ShowValue Exibi ou não valor na célula, mas a Barra de Dados é visualizada. VON_InitialColor Cor inicial da cor da barra (degrade). VON_FInalColor Cor final da cord a barra (degrade). |
Conclusão
Muito bem!
Nesta coluna minha intenção foi disponibilizar mais um recurso atual e inovador que pode ser implementado em aplicações desenvolvidas com VFP. Uma grande funcionalidade do Excel 2007 agora disponível para o VFP.
Clique aqui para fazer o download do exemplo
Visão geral do produto:
http://www.microsoft.com/brasil/msdn/produtos/visualfox/Visaogeral.mspx
Visite a comunidade de desenvolvedores VFP
http://msdn.microsoft.com/vfoxpro/
Até a próxima coluna.
Grande abraço!
- WEB Services com Visual FoxPro 9.0Visual Fox Pro
- Importando arquivos “Textos” com FOX e VB ou DelphiVisual Fox Pro