4D v16.3

Menu selected

Página Inicial

 
4D v16.3
Menu selected

Menu selected 


 

Menu selected {( subMenu )} -> Resultado 
Parâmetro Tipo   Descrição
subMenu  MenuRef in Referência de menu contendo o item selecionado
Resultado  Inteiro longo in Comando de menu selecionado "Palavra Superior": número de menu Palavra inferior: Número de comando de menu

Menu selected é utilizado só quando são mostrados formulários. Esta função detecta o comando de menu escolhido no menu no caso de um submenu hierárquico, retorna a referência do submenu.

Dica: sempre que seja possível, utilize métodos associados com comandos de menu em uma barra associada (com um número de barra negativo) ao invés de utilizar Menu selected. As barras de menus associadas são mais fáceis de administrar, já que não é necessário provar sua seleção. Entretanto, se são utilizados os comandos APPEND MENU ITEM ou INSERT MENU ITEM, deve utilizar Menu selected porque as linhas de menus adicionadas por esses comandos não têm métodos associados.

O comando Menu selected pode ser utilizado para trabalhar com submenus hierárquicos. Quando se seleciona uma linha de um menu hierárquico mais além do primeiro nível, o comando devolve, no parâmetro opcional submenu, a referência (tipo MenuRef, cadeia de 16 caracteres) do submenu ao qual pertence a linha selecionada. Se o comando de menu não conter um submenu hierárquico, este parâmetro recebe uma cadeia vazia.

Menu selected devolve o número do menu selecionado, um inteiro longo. Para encontrar o número de menu, divida Menu selected por 65,536 e converta o resultado em um inteiro. Para obter o número do comando de menu, calcule o módulo de Menu selected com o coeficiente 65,536. Utilize as seguintes fórmulas para calcular o número de menu e do comando de menu:

 Menu:=Menu selected\ 65536
 comando de menu:=Menu selected% 65536

Da mesma forma pode extrair estes valores utilizando os Operadores bitwise como no exemplo a seguir:

 Menu:=(Menu selected & 0xFFFF0000)>>16
 comando de menu:=Menu selected & 0xFFFF

Se nenhum comando de menu estiver selecionado, Menu selected devolve 0.


Exemplo  

O método a seguir de formulário utiliza Menu selected para proporcionar os argumentos menu e linha de menu a SET MENU ITEM MARK:

 Case of
    :(Form event=On Menu Selected)
       C_STRING(16;$MenuRefIncludingItem)
       C_LONGINT($ref;$MenuNum;$MenuItemNum)
       $ref:=Menu selected($MenuRefIncludingItem)
       $MenuNum:=$ref\65536
       $MenuItemNum:=$ref%65536
       SET MENU ITEM MARK(MenuRefIncludingItem;$MenuItemNum;Char(18))
 End case

Nota: o evento de formulário On Menu Selected não é ativado se nenhuma linha estiver selecionada, $MenuRefIncludingItem sempre é dado e $MenuNum vale 0 se o menu não é um dos menus da barra.



Ver também 

Gestão de Menus

 
PROPRIEDADES 

Produto: 4D
Tema: Menus
Número 152

Este comando não pode ser utilizado com 4D Server

 
HISTÓRIA 

Modificado: 4D v11 SQL

 
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)