4D v12.4

Menus suspensos, Listas suspensas e Áreas de rolagem

Página Inicial

 
4D v12.4
Menus suspensos, Listas suspensas e Áreas de rolagem

 

Menus suspensos, Listas suspensas e Áreas de rolagem  


 

Uso  

Os menus suspensos, as listas suspensas e as áreas de rolagem são objetos que permitem ao usuário selecionar um elemento de uma lista. Os elementos que aparecem nos menus suspensos e nas áreas de navegação são manejados utilizando um array.

Um array é uma lista de valores em memória referenciados pelo nome do array (ver Arrays e objetos de formulário). Um menu/lista suspensa mostra um array como uma lista de valores que aparece quando se clica sobre ele.

Os nomes “Menu suspenso” e “Lista suspensa” se referem aos mesmos objetos; “Menu suspenso” é parte da terminologia de Mac OS e “Lista suspensa” de Windows. Como mostram os exemplos a seguir, a aparência destes objetos é ligeiramente diferente dependendo da plataforma:

Windows

Mac OS

Uma área de rolagem mostra o array em uma lista que pode ser navegável e utilizada para selecionar um elemento. Este é um exemplo de uma área de rolagem:



Os objetos são iniciados ao se carregar uma lista de valores em um array. Pode-se fazer isso de várias formas:

  •  Introduzir uma lista de valores padrão nas propriedades do objeto. Para fazê-lo, clique no botão Editar... no tema “Fonte de dados” da Lista de Propriedades. Para maiores informações, consulte Listas de valores padrão. Os valores padrão são carregados automaticamente em um array. É possível fazer referência ao array utilizando o nome da variável associada ao objeto.
  • Antes que o objeto seja mostrado, execute o código que atribua os valores aos elementos do array. Por exemplo:
     ARRAY TEXT(aCidades;6)
     aCidades{1}:="São Paulo"
     aCidades{2}:="Rio de Janeiro"
     aCidades{3}:="Curitiba"
     aCidades{4}:="Brasília"
     aCidades{5}:="Salvador"
     aCidades{6}:="Porto Alegre"

    Também neste caso, o nome da variável associada ao objeto no formulário deve ser aCidades.
    Este código deveria ser localizado no método de formulário e executado quando se produz o evento de formulário On Load.
  • Antes que o objeto seja mostrado, carregue os valores de uma lista no array utilizando o comando LIST TO ARRAY. Por exemplo,
    LIST TO ARRAY ("Cidades";aCidades)
    Neste caso, o nome da variável associada ao objeto no formulário deve ser aCidades.
    Este código pode ser executado no lugar das declarações de atribuição anteriores

Se você precisa guardar em um campo a escolha do usuário, é necessário utilizar uma declaração de atribuição que seja executada depois de que se aceite o registro. Uma declaração completa tipo Case no método de objeto seria vista como esta:

 Case of
    :(Form event=On Load)
       LIST TO ARRAY("Cidades";aCidades)
       If(Record number([Pessoas])<0) `novo registro
          aCidades:=3 `mostrar um valor padrão
       Else `registro existente, mostrar valor armazenado
          aCidades:=Find in array(aCidades;Cidade)
       End if
    :(Form event=On Clicked`A seleção se modifica
       Cidade:=aCidades{aCidades`o campo recebe um novo valor
    :(Form event=On Validate)
       Cidade:=aCidades{aCidades}
    :(Form event=On Unload)
       CLEAR VARIABLE(aCidades)
 End case

Na página Eventos da janela Lista de propriedades, você deve escolher os eventos que você testou em sua declaração tipo Case..

Os arrays sempre contêm um número finito de elementos. A lista de elementos é dinâmica e pode ser modificada por um método. Os elementos em um array podem ser modificados, organizados e adicionados.

Para maiores informações sobre a criação e utilização de um array, consulte o capítulo sobre arrays no capítulo Arrays do Manual de Linguagem.

É possível atribuir a ação automática Ir para a página a um menu/lista suspensa ou a uma área de rolagem (tema “Ação” da Lista de propriedades). Quando esta ação está selecionada, 4D mostra automaticamente a página do formulário que corresponda ao número do objeto selecionado na lista suspensa ou na área de rolagem.

Por exemplo, se o usuário seleciona o terceiro elemento da lista, 4D mostrará a terceira página do formulário atual (se existir). Se deseja manejar você mesmo o efeito da seleção de um elemento, selecione Sem ação.

 
PROPRIEDADES 

Produto: 4D
Tema: Trabalhar com objetos ativos