criando menus

Antes de tudo, verifique a página de downloads, observe a data, e baixe a versão mais atual de prisma, ok.

Dê uma olhada na página de Documentação, pode haver um link novo por lá também.

menu

Podemos começar, veja o código abaixo:

 

Pode parecer um pouco complicado no início, mas não é. Leia com atenção, caso haja dúvidas em alguma explicação, pergunte

no fórum, certo.

Criar a janela, a caixa vertical não é novidade, vejamos algo novo:

Para criar um Menu ou vários, é necessário antes criar uma barra de menu, segue o comando:

barramenu = ig.menu_barra ( );   cria uma barra de menu e retorna seu id para a variável barramenu. Sempre é importante

armazenar o id de um componente numa variável para futura manipulação do componente.

Próximo passo é criar o menu, bem simples o comando, veja:

menu_arquivo = ig.menu ( ); é o que vai ficar aparecendo na barra de menu, ainda está vazio, mas vamos colocar um item

como principal neste menu adiante.

Criando o item principal, o texto que irá aparecer em cima na barra de menu:

arquivo = ig.menu_item ( “Arquivo”); cria um item de menu, a diferença desse e dos outros pela frente é que este será o

item principal, é nele que quando clicar aparecerá os outros itens do menu. Note que definimos um Texto para ele.

O próximo comando define o item arquivo como menu do menu_arquivo:

ig.def_menu ( arquivo , menu_arquivo ); define o item “Arquivo” como item principal do menu menu_arquivo. Será ele

o texto visível na barra de menu, e que receberá o clique para abrir os outros itens.

Os parâmetros são: ( item , menu ); onde o item é o que contém o texto “Arquivo” e menu é o menu criado pelo comando

ig.menu( );

Criando e anexando itens no menu:

abrir = ig.menu_item( “Abrir” ); bom, aqui criamos outro item, este no entanto, não será como o principal, ele será um submenu;

Após criarmos os outros itens, devemos colocá-los dentro do menu_arquivo, com o seguinte comando:

ig.menu_shell_anexe ( menu_arquivo , abrir );  Atenção para os parâmetros que são: ( menu, item )

Obs.: a ordem de anexar é que determina em que ordem aparecerão os itens no menu.

Fazendo o mesmo com o outro item:

Enfim, colocando o menu na barra de menu para ser visível:

ig.menu_shell_anexe ( barramenu , arquivo );

Só fique atento que o que é anexado na barra não é o menu, mas a variável do item principal, ok.

sendo seus parâmetros: ( barra_de_menu , item_principal ); lembre-se que o item principal é definido

pela função ig.def_menu ( ).  Observe que a função é a mesma de anexar itens, o que muda é que anexamos na barra agora.

Pronto, após criarmos e definirmos a barra de menu, com todos os seus itens, incluindo o item principal, podemos

adicionar a barra de menu normalmente na caixa vertical, sem segredo:

ig.caixa_ad ( caixav , barramenu , falso , falso , 3); 

o primeiro parâmetro é a caixa vertical onde queremos colocar a barra de menu;

o segundo é a própria barra de menu;  temos em sequência um falso dizendo que não se expande verticalmente ao

redimensionar a janela, outro falso definindo que não preenche toda a área da caixavertical, e 3 que seria a dimensão.

Obs.: fiz testes com menu em caixas fixas, o efeito é muito legal, dependendo das coordenadas que você determinar

como posição do menu, ele vai ficar flutuando na caixa fixa, pode determinar x = 0 e y = 0 para ficar em cima.

Note que ficou assim  a estrutura:

[Arquivo]

   [Abrir]

   [Sair  ]

Se você quiser um outro menu principal ao lado de Arquivo é só repetir o mesmo processo dele, mudando as variáveis é claro;

 

Bom, e para acontecer algo ao clicar em um menu, o que tenho que fazer:

O mesmo que para os botões, apenas muda o método (signal ), ao invés de ig.clique será ig.ativado, veja:

ig.conecte ( variavel_item_menu , ig.ativado , [[ funcao_aqui ( ) ]] );  lembre-se que duplos colchetes são strings. Logo passamos

a função conectada como uma string, poderia ser: “funcao_aqui ( ) “;

O primeiro parâmetro é o próprio item_menu a ser conectado, o segundo é o tipo de evento que neste caso é o ig.ativado, se

quiser pode escrevê-lo assim: ig [ “ativado” ] , o resultado é o mesmo.

E por último o parâmetro string da função a ser conectada;

Veja o  trecho do exemplo acima:

ig.conecte ( sair , ig.ativado , ‘ig.saia(0) ‘ ) ; aqui, conectamos uma função já existente, a ig.saia ( ), fecha imediatamente o programa.

Neste outro trecho, criamos uma função para conectá-la, apenas apresentando uma mensagem, veja:

 

 

Bom, até a próxima.

Att. Adalberto

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *