Saltar para o conteúdo principal
Versão: 20 R10

Dynamic pop up menu

Dynamic pop up menu* ( menu {; porpadrao {; coordX ; coordY}} ) : Text

ParâmetroTipoDescrição
menuTextReferência de menu
porpadraoTextParâmetro de itens selecionado por padrão
coordXIntegerCoordenada X do canto esquerdo superior
coordYIntegerCoordenada Y do canto esquerdo superior
ResultadoTextParâmetro do menu de item selecionado

Descrição

comando Dynamic pop up menu faz aparecer um menu suspenso hierárquico na localização atual do mouse ou na localização definida pelos parâmetros opcionais Coordx e Coordy.

O menu hierárquico utilizado deve ter sido criado com o comando Create menu. A referência devolvida por Create menu deve ser passada no parâmetro menu.

Nota: o comando Pop up menu (tema “Interface de usuário”) pode ser utilizada para criar menus pop-up menus baseados em texto.

De acordo com as regras padrão da interface, este comando geralmente deve ser chamado em resposta a um clique direito, ou quando o botão é mantido pressionado por um certo período de tempo (menu contextual por exemplo).

O parâmetro opcional porpadrao pode ser utilizado para definir um elemento do menu suspenso selecionado automaticamente quando aparece o menu. Neste parâmetro, passe uma cadeia personalizada associada a referência do elemento de menu. Esta cadeia deve ter sido definida anteriormente com a ajuda do comando SET MENU ITEM PARAMETER. Se não passar este parâmetro, o primeiro elemento do menu será selecionado automaticamente.

Nota: Por padrão apenas um item de menu de nível superior pode ser selecionado.

Os parâmetros opcionais CoordX e CoordY podem ser utilizados para especificar a localização do menu suspenso a mostrar. Nos parâmetros CoordX e CoordY, passe as coordenadas horizontal e vertical respectivamente, da esquina superior esquerda do menu. Estas coordenadas devem ser expressas em píxels no sistema de coordenadas local do formulário atual. Estes dois parâmetros devem ser passados juntos; se é passado só um deles, o outro será ignorado.

Se quer mostrar um menu suspenso associado a um botão 3D, não passe os parâmetros opcionais CoordX e CoordY. Neste caso, 4D calcula automaticamente a localização do menu relativo ao botão de acordo aos padrões de interface da plataforma atual. (the 3D button must have the "With pop-up menu/Linked" or "With pop-up menu/Separated" property).

Se um elemento de menu for selecionado, o comando devolve sua cadeia de caracteres personalizada associada (tal como foi definido utilizando o comando SET MENU ITEM PARAMETER). Do contrario, o comando devolve uma cadeia vazia.

Se uma ação padrão for associada a um item menu, é levado em consideração pelo comando Dynamic pop up menu em vários níveis:

  • se uma ação padrão associada não for ativada (ou seja, não puder ser chamada) no contexto do menu pop up, o item é automaticamente escondido. Pode saber se a ação foi ativada usando o comando Action info.
  • Itens com uma ação toggle associada são automaticamente marcados, desmarcados ou "mixed" dependendo da seleção.
  • Se o título da ação foi estabelecido ao item usando a constante ak standard action title, o nome localizado é exibido no menu.
  • Quando o item for selecionado, a ação padrão associada é chamada (execução é assíncrona).

Exemplo

Este código permite criar um menu emergente dinâmico hierárquico baseado em ações padrão:

 var $refMainContextMenu;$refMenuEdit : Text
 $refMainContextMenu:=Create menu
 APPEND MENU ITEM($refMainContextMenu;"-")
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak select all)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak clear)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak copy)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak cut)
 APPEND MENU ITEM($refMainContextMenu;ak standard action title)
 SET MENU ITEM PROPERTY($refMainContextMenu;-1;Associated standard action;ak paste)
 APPEND MENU ITEM($refMainContextMenu;"-")
  //sub menu text edit
 $refMenuEdit:=Create menu
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font bold)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("B"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font italic)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("I"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font linethrough)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("L"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font underline)
 SET MENU ITEM SHORTCUT($refMenuEdit;-1;Character code("U"))
 APPEND MENU ITEM($refMenuEdit;ak standard action title)
 SET MENU ITEM PROPERTY($refMenuEdit;-1;Associated standard action;ak font show dialog)
 APPEND MENU ITEM($refMainContextMenu;"Edit";$refMenuEdit)
 
 paramRef:=Dynamic pop up menu($refMainContextMenu)

Ver também

Get menu item parameter
Get selected menu item parameter
Pop up menu
SET MENU ITEM PARAMETER
SET MENU ITEM PROPERTY

Propriedades

Número do comando1006
Thread-seguro