Olá a todos, antes de seguir o tutorial deste post, vá até downloads e baixe a versão
mais atual de Prisma, foram feitas algumas correções.
Enfim, para que serve uma caixa de listagem? Simples, muitas vezes você quer
mostrar dados organizados em linhas e colunas, como por exemplo uma agenda
em que aparece os nomes, idades e telefones, veja a imagem:
O código é simples e está todo comentado, bons estudos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
// box de listagem em igbr inclua 'igbr' janela = ig.janela(); //cria uma janela; ig.janela_def_posicao ( janela , ig.jan_pos_centro ); ig.componente_def_tamanho ( janela , 500 , 190 ); //tamanho da janela ig.conecte( janela , ig.destruido , 'ig.fimjanela( )' ); //fecha o programa definitivamente ao fechar a janela ig.caixa_def_borda_largura ( janela , 5 ); //definindo largura da borda da janela caixav = ig.caixavertical ( falso , 0 ); ig.ad ( janela , caixav ); //colocando a caixa dentro da janela //criando uma listagem com tres colunas e seus titulos listagem = ig.listagem_com_titulos ('Nome', 'idade' , 'celular' ); ig.componente_modifique_fonte ( listagem , "Arial", ig.negrito, 11); //define a fonte da listagem ig.listagem_def_tipo_sombra( listagem , ig.sombra_riscado_dentro ); //define o estilo de borda //tente ig.sombra_dentro, ig.sombra_fora, ig.sombra_riscado_fora, execute e veja o resultado. //colocando dados na listagem, os parametros são referentes as colunas criadas com a listagem ig.listagem_anexe ( listagem , 'Paulo', 34 , '65 4578-9631' ); ig.listagem_anexe ( listagem , 'Joana' , 25 , '66 7842-6985'); ig.listagem_anexe ( listagem , 'Sandro', 37 , '45 4546-5460'); ig.listagem_anexe ( listagem , 'Fernanda', 45 , '88 5645-6456'); ig.listagem_anexe ( listagem , 'Marcos', 19 , '84 5154-8784'); //mudando o texto da primeira linha primeira coluna (Paulo) para (André): ig.listagem_def_texto ( listagem , 1 , 1 , "André"); //veja que saiu André e não Paulo, o comando funcionou. cor = ig.cor_analise( ig.laranja .. 3 ) ; //criando uma cor para mudar o fundo de uma linha ig.listagem_def_cor_fundo ( listagem , 3 , cor ); //aplicando a cor de fundo na linha 3 cor = ig.cor_analise( ig.branco ); //definindo uma cor para letra ig.listagem_def_cor_letra ( listagem , 3 , cor ); //aplicando a cor de letra na linha 3 ig.listagem_def_col_auto_ajuste( listagem, 1 , verdadeiro ); //tamanho auto ajustavel para col 1; ig.listagem_remova ( listagem , 2 ); //remove linha 2 (Joana); ig.listagem_def_largura_coluna ( listagem , 1 , 100 ); //define coluna 1 em 100 pixels de largura ig.listagem_def_col_redimensionavel ( listagem , 3 , verdadeiro ); //col 3 pode ser redimensionada //para remover os valores atribuidos acima atribua novamente mas coloque falso ao inves de verd. ig.ad( caixav , listagem ); ///colocando a caixa de listagem dentro do caixa vertical //em outros casos é bom colocar em uma janela de rolagem //funcao que sera conectada ao box de listagem: funcao list_exec ( comp , lin , col , evento ) texto = ig.listagem_obt_texto ( comp , lin , col ); texto2 = "na linha: " .. lin .. "ne coluna: " .. col .. "nTexto: " .. texto; ig.msg( janela , 'Listagem' , texto2 ); fim //todos os %s na funcao conecte são necessários ok, são eles que retornam os parametros //da funcao criada acima //onde o primeiro %s será o comp, o segundo lin, terceiro col e quarto o evento, que nao foi usado. ig.conecte( listagem , ig.clique_linha , 'list_exec( %s , %s , %s , %s )' ); //note que o s do %s é minusculo, senao causa um erro imperceptível para o debug. imprima( "nnTexto: " .. ig.listagem_obt_texto ( listagem , 1 , 3 ) ); //obtem o texto na linha 1 coluna 3 e imprime ig.componente_mostre_todos ( janela ); ig.fimprograma( ); |
Há uma função que não demonstrei o uso no exemplo acima, veja:
1 |
ig.listagem_limpe ( listagem ) ; // apaga todos os itens da listagem |
Qualquer dúvida visite o fórum da linguagem Prisma. Até mais!
Att. Adalberto