Exemplo de menu do tipo checagem, aquele que é possível marcar e desmarcar
segue o código:
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 |
//exemplo de menu checagem e barra de estado inclua 'igbr' ; //incluindo a biblioteca gráfica //funcao que sera chamada pelo componente menu checagem funcao menu_cb ( menuch , b_estado ) //se menu checagem está checado retorna verdadeiro, senao falso se ig.menu_checagem_item_obt_ativo ( menuch ) == verdadeiro entao ig.componente_mostre ( b_estado ); //barra estado visivel senao ig.componente_oculte ( b_estado ); //barra estado não visivel fim //fimse fim //fim funcao //--------------------------------------------------------------------------------------------------------- janela = ig.janela ('View Statusbar', 250 , 200 ); //cria a janela principal ig.janela_def_posicao ( janela , ig.jan_pos_centro ); //deixando a janela no centro ig.conecte( janela , ig.destruido , "ig.saia() "); caixav = ig.caixavertical ( falso , 0 ); //cria uma caixa vertical ig.ad ( janela , caixav ); barramenu = ig.menu_barra ( ); //criando a barra de menu ver_menu = ig.menu ( ); //criando o menu ver = ig.menu_item ( "Ver"); //item principal para o menu ig.def_menu( ver , ver_menu ); //definindo item principal do menu o "Ver" //criando o menu de checagem menucheck = ig.menu_checagem_item ( "Ver barra de estado"); ig.menu_checagem_item_def_ativo ( menucheck , verdadeiro ); //deixando ele já checado // caso troque o verdadeiro por falso , o menu fica desmarcado ig.menu_shell_anexe ( ver_menu , menucheck); //adicionando o menucheck no menu ig.menu_shell_anexe ( barramenu , ver ); //colocando o item principal na barra de menu ig.caixa_ad ( caixav , barramenu , falso , falso , 3 ); //colocando a barra de menu na caixa vertical; //componente texto area texto = ig.texto_area ( ); // veremos mais sobre texto adiante ig.caixa_ad( caixav , texto , verdadeiro , verdadeiro , 0 ); //colocando texto dentro da caixa vertical //criando a barra de estado, muito útil para mostrar informações ao usuário: barra_estado = ig.barraestado ( ); //obtendo o id de contexto da barra com sua string id = ig.barraestado_obt_contexto_id ( barra_estado , "" );//string vazia //colocando a string na barra de estado ig.barraestado_empurre( barra_estado , id , "minha barra de estado --"); ig.caixa_ad ( caixav , barra_estado , falso , falso , 1 ); //colocando a barra de estado na caixa vertical //conectando a funcao call back no menu checagem ig.conecte ( menucheck , ig.ativado , "menu_cb ( %s , barra_estado ) " ); // o primeiro parametro %s será substituído pelo proprio componente conectado //dentro da funcao call back //o segundo é a barra_estado para torna-la visivel ou nao na funcao call back ig.componente_mostre_todos( janela ); //mostra a janela e seus componentes. ig.fimprograma ( ); |
As novidades aqui são:
função para criar um menu item do tipo checagem:
o único parâmetro é uma string do texto que aparecerá no menu
1 |
menucheck = ig.menu_checagem_item ( "Ver barra de estado"); |
Função que retorna verdadeiro ou falso caso o menu esteja marcado ou não:
único parâmetro é o menu_checagem_item
1 |
ig.menu_checagem_item_obt_ativo ( menuch ) |
Definindo o menu como checado ou não:
2 parâmetros, o primeiro é o menu, o segundo é um boolean que pode ser verdadeiro para checado ou falso para não checado
1 |
ig.menu_checagem_item_def_ativo ( menucheck , verdadeiro ); |
Criando uma área de texto, recurso para ler arquivos de texto e mostrar, modificar e salvar
por enquanto aqui somente cria a área de texto, futuramente teremos algo mais completo sobre o assunto:
1 |
texto = ig.texto_area ( ); |
Barra de estado, servem para mostrar ao usuário atividades ou qualquer informação útil. É uma pequena barra na parte inferior
da janela:
1 |
barra_estado = ig.barraestado ( ); |
Primeiro temos que obter o id (-entificador) da barra:
2 parâmetros, o primeiro é a própria barra de estado, segundo uma string, pode ser a que vai ser inserida
1 |
id = ig.barraestado_obt_contexto_id ( barra_estado , "" );//string vazia |
Depois podemos empurrar algum texto para dentro dela:
3 parâmeros, a barra , o id obtido na função anterior, e a string (texto) a ser exibido na barra
1 |
ig.barraestado_empurre( barra_estado , id , "minha barra de estado --"); |
Att. Adalberto