Tutorial Gambas

7. Grupos de controles


Em outras linguagens de programação, como VB, podemos trabalhar com grupos de controles, de forma que, vários botões lancem um evento comum ao ser pressionado, e dentro do evento, cada botão distingue-se, no caso do VB, com o valor "Index" que o evento possue.


Gambas tem sua própria solução:

  • 1) Em tempo de desenho:  Dentro da IDE, no painel de propriedades de um objeto gráfico, existe uma propriedades chamada "Grupo", que não é exatamente uma propriedade do objeto, e sim o nome que daremos ao seu gestor de eventos.
    Por padrão, quando não indicamos nada, o gestor de eventos tem o mesmo nome que o objeto, assim se tivermos um botão chamado "Btn1" seu gestor de eventos será "Btn1", de forma que para capturar um evento, como podes ser um "Click", escreveremos o código assim:
     PUBLIC SUB Btn1_Click()

    ...

    END

    Se especificarmos a pseudo-propriedade "Group",  poderemos indicar qualquer um outro nome, podemos até mesmo dar o mesmo nome para múltiplos controles. Se dispomos, por exemplo, de cinco botões, e nos cinco colocamos "Botoes" como valor de "Group", capturaremos os eventos dos cinco dentro de:
     PUBLIC SUB Botoes_Click()

    ...

    END

    E como sabemos qual é o botão pressionado? Dentro de cada evento, podemos chamar um objeto especial, chamado "LAST", o qual mantem uma referência ao objeto que lançou o evento. Assim indicamos:
    PRINT LAST.Text
    Mostrará no console o texto do botão que lançou o evento. também podemos empregar a propriedade "TAG" de cada botão para adicionarmos qualquer característica específica que requeremos para diferencia-los:
     SELECT CASE LAST.Tag

    ...
    ...

    END SELECT

  • 2) Em tempo de execução: em Gambas temos a liberdade para criar qualquer controle durante a execução de um programa. Se desejarmos criar seis botões, e fazer com que respondam a um evento comum, o indicaremos na criação do controle:
     DIM Btn As Button
    ...
    Btn = NEW Button(ME) AS "Botoes"
    ...
    Desta forma, todos os botões criados respondem ao gestor de eventos "Botoes", assim como no primeiro caso, pela palavra chave "LAST".
    Também temos a possibilidade de armazenar uma referência a cada botão dentro de uma matriz tipo "Object[]" para manipula-los de fora dos eventos.
 << Anterior     Próximo >>  




Autor e licença

Publicado por Vários autores em http://wiki.gnulinex.org/gambas/4

Licença Creative Commons.

Este conteúdo foi publicado por Antonio Sousa, respeitando as licenças  de publicações . Se for detectado algum erro na atribuição do tutorial relacionado com seus direitos de atribuição contate gambastutor@yahoo.com.br e procederemos as modificações


   
Hosted by www.Geocities.ws

1