4D v16.3

Gestão de Menus

Página Inicial

 
4D v16.3
Gestão de Menus

Gestão de Menus  


 

 

A documentação dos comandos de menus utiliza indiferentemente os termos comando de menu e elemento de menu quando descreve uma linha de um menu.

A linguagem de 4D oferece dois modos de manipulação de menus e barras de menus: por referências ou por números.

  • A gestão de menus por referência (MenuRef) é a nova maneira de administrar menus, introduzida com a versão 11 de 4D. Este modo do acesso a funções avançadas tais como a criação de interfaces completamente dinâmicas (menus criados "on the fly" sem que deva existir necessariamente no editor de menus) e a gestão de submenus hierárquicos multinível.
  • A gestão de menus e barras de menus por número está baseada nos menus criados no editor de menus em modo Desenho. É atribuído a um número fixo a cada barra de menus e menu (correspondente a sua posição no editor). Este número é utilizado pelos comandos da linguagem para designar a barra ou o menu. O alcance dos comandos da linguagem aplicados aos menus administrados por número é a barra de menus atual.Este comportamento corresponde às versões anteriores de 4D e obedece a várias regras (descritas a continuação no parágrafo "Gestão de menus por número"). Ainda pode ser utilizada mas não permite aproveitar as novas funcionalidades oferecidas a partir da versão 11, particularmente a gestão dinâmica de menus e a utilização de submenus hierárquicos: não é possível acessar a um submenu hierárquico utilizando um número.

Os dois modos de gestão de menus são compatíveis e podem ser utilizados simultaneamente em suas interfaces. A maioria dos comandos no tema "Menus" aceitam indiferentemente números ou referências de menus.

Entretanto, a gestão de menus por referência é recomendável já que oferece muito mais possibilidades. Observe que se sua interface de menus está definida parcial ou totalmente através do editor de menus, é perfeitamente possível trabalhá-la em forma de referências utilizando os comandos Get menu bar reference e GET MENU ITEMS.

Quando os menus são manejados através de referências MenuRef, não há diferença entre um menu e uma barra de menus. Em ambos os casos, se trata de uma lista de elementos. Só seu uso é diferente. No caso de uma barra de menus, cada elemento corresponde a um menu, o qual está composto de elementos. Este também é o princípio no qual os menus hierárquicos estão baseados: cada elemento pode ser um menu e assim sucessivamente.

Quando um menu é administrado por referência, toda modificação realizada sobre este menu durante a sessão passa imediatamente a cada instância do menu e em todo processo do banco.

MenuRef  

Como as listas hierárquicas, todos os menus tem uma referência única, graças a qual pode ser identificada durante toda a sessão. Esta referência, chamada por convenção MenuRef, é um alfa numérico de 16 caracteres. Todos os comandos do tema "Menus" aceitam esta referência, ou um número de menu, para designar um menu ou uma barra de menus.

As referências de menus podem ser obtidos utilizando os comandos Create menu, Get menu bar reference ou GET MENU ITEMS.

As barras de menus podem ser definidas no editor de menus no ambiente Desenho. Quando são administradas por número, cada barra de menu es identificada por um número e por um nome. A primeira barra de menu (criada automaticamente por 4D) tem o número 1 e se chama automaticamente Barra de Menus #1. Pode renomeá-la no editor de menus. O nome de uma barra de menu pode conter até 31 caracteres e deve ser único.

Barra de Menus #1 também é a barra de menus padrão. Para abrir uma aplicação com uma barra de menus diferente de Barras de Menus #1, deve utilizar o comando SET MENU BAR no Método de base On Startup.

Não é possível modificar por programação o conteúdo mesmo de uma barra de menus, entretanto os menus que o compõe podem ser modificados. O alcance dos comandos da linguagem aplicados a menus estáticos é a barra de menus atual. Em cada chamada ao comando SET MENU BAR (sem o parâmetro *), todos os menus e os comandos de menus retornam a seu estado original definido no editor de menus.

Cada barra de menus tem como padrão três menus: Arquivo, Edição e Ambiente.

• O menu Arquivo tem Apenas um comando de menu: Sair. A ação padrão Sair está atribuída a ele. Esta ação mostra uma caixa de diálogo de confirmação "Tem certeza?" , se  a caixa de diálogo é confirmada, você sai da aplicação 4D. Do contrário, a operação é cancelada.

Nota: em Mac OS X, o comando de menu criado associado a ação Sair se localizada automaticamente no menu da aplicação, quando o banco é executado neste sistema.

Pode renomear o menu Arquivo, adicionar comandos de menu ou conservá-lo da maneira que está. É recomendado conservar sempre Sair como último comando do menu Arquivo.

• O menu Edição contém os comandos do menu edição padrão. Uma ação padrão (Cancelar, Cortar, Copiar, etc.) é atribuída a cada comando deste menu. Pode adicionar comandos a este menu ou utilizar seus próprios métodos de gestão de ações de edição.

• O menu Ambiente contém o comando Voltar ao ambiente Desenho. Este comando permite voltar ao modo Desenho (quando está disponível) desde o modo Aplicação.

Nota: 4D administra automaticamente os menus sistema Ajuda, e aplicação (Mac OS X). Estes menus no podem ser modificados, exceto pelo comando Acerca de 4D, o qual pode ser administrado utilizando o comando SET ABOUT.

Advertência: as barras de menu são "interprocesso." Toda modificação realizada em uma barra de menu no modo Desenho será refletida em todos os processos onde se utilize a barra de menus.

Como as barras de menu, os menus são numerados. O menu Arquivo é geralmente o número 1. Os outros menus são numerados sequencialmente de esquerda a direita (2, 3, 4, etc.). O menu Aplicação (Mac OS) está excluído desta numeração. Em ambas plataformas, o menu Ajuda também está excluído. Deve ser observado que o comando Count menus não considera estes menus. Se, por exemplo, sua barra de menus está formada pelos menus Arquivo, Edição, Clientes, Faturas e Ajuda, Count menus devolverá 4 (ignorando os menus sistema mantidos por 4D). A numeração dos menus é importante quando está trabalhando, por exemplo, com a função Menu selected.

Quando um menu está associado a um formulário, o esquema de numeração de menus é diferente. O primeiro menu adicionado começa com o número 2049. Para referenciar um menu associado, adiciona 2048 ao número inicial do menu.

Os comandos de menu em cada menu são numerados sequencialmente de cima até embaixo, incluindo os separadores. O comando de menu superior é o número 1.

Pode associar uma barra de menus a um formulário nas Propriedades do formulário (seção Geral). Este tipo de barra de menu é chamada “barra de menus de formulário” neste documento.

Os menus de uma barra de menus de formulário são adicionados a barra de menus atual quando o formulário é visualizado como um formulário de saída no ambiente Aplicação.
As barras de menus de formulários são referenciadas por um número e um nome. Se o número ou o nome da barra de menus mostrada com o formulário atual é o mesmo que o da barra de menus associada ao formulário, esta última não é mostrada.

Como padrão, quando um formulário é mostrado com uma barra de menus personalizada, os comandos da barra de menu atual são desativados, ou seja que não tem nenhum efeito selecioná-los. Pode modificar este funcionamento selecionando a opção Barra de menus ativa as Propriedades do formulário: neste caso, os comandos da barra de menus atual permanecerão utilizáveis.

Em todos os casos, a seleção de um comando de menu causa o envio de um evento On Menu Selected ao método de formulário; pode utilizar o comando Menu selected para provar o menu selecionado.

Os menus possam estar anexos a barras de menus. Se um menu anexo é modificado usando um desses comandos, cada uma das instâncias do menu refletirá as mudanças. Para mais informação sobre menus anexos, consulte o .

Cada comando de menu pode ter um método de projeto ou uma ação padrão associada. Se não atribui um método ou uma ação padrão a um comando de menu, a seleção deste comando provoca a saída do modo Aplicação e o regresso ao ambiente Desenho. Se só está disponível o ambiente Desenho ou se o usuário não tem acesso ao ambiente Desenho, isto provocará o fechamento da aplicação.

As ações padrão permitem realizar várias operações associadas a funções sistema (copiar, sair, etc.) ou do banco de dados 4D (adicionar registro, selecionar tudo, etc.).
Pode atribuir ao mesmo tempo uma ação padrão e um método de projeto a um comando de menu. Neste caso, a ação padrão nunca se executa; entretanto 4D utiliza esta ação para ativar/desativar o comando de menu de acordo com o contexto atual e associar uma operação específica de acordo a plataforma (por exemplo, a ação Preferências se passa no menu aplicação em Mac OS). Quando um comando de menu está desativado, o método de projeto associado não pode ser executado.

Com o objetivo de facilitar a manipulação de elementos de menu, 4D oferece um atalho que pode ser utilizado para especificar o último elemento adicionado ao menu: simplesmente deve passar -1 no parâmetro elementoMenu.

Este princípio pode ser utilizado em todos os comandos do tema "Menus" que trabalham com elementos de menus.



Ver também 

Pop up menu

 
PROPRIEDADES 

Produto: 4D
Tema: Menus

 
HISTÓRIA 

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)