MENU TO
 Executa um menu de barra luminosa para PROMPTs definidos
------------------------------------------------------------------------------

 Sintaxe

     MENU TO <idVar>

 Argumentos

     <idVar> é o nome da variável à qual será atribuída o resultado da
     seleçao de menu.  Caso a variável especificada nao seja visível ou nao
     exista, uma do tipo privada é criada e a ela atribuído o resultado.

 Descriçao

     O comando MENU TO é o mecanismo de seleçao para o sistema de menus de
     barra luminosa do Clipper.  Antes de chamar o comando MENU TO, defina
     primeiro os PROMPTS do menu e mensagens associadas com uma série de
     comandos @...PROMPT.  Depois, ative o menu com MENU TO <idVar>.  Se
     <idVar> nao existir ou nao for visível, o comando MENU TO irá criá-la
     como uma variável do tipo privada e coloca a barra luminosa sobre o
     primeiro PROMPT.  Se ele nao existir, seu valor inicial determina o
     primeiro PROMPT sobre o qual ficará a barra luminosa.

 Notas

       Cor: Os PROMPTs sao escritos na tela na cor padrao
        corrente.  O PROMPT sobre o qual aparece a barra luminosa aparece na
        cor corrente destaque.

       Navegaçao e seleçao: As teclas de navegaçao movem a barra
        luminosa para o PROMPT anterior ou posterior.  A cada PROMPT que é
        evidenciado pela barra luminosa, a sua respectiva mensagem (MESSAGE)
        aparece na linha, especificada com SET MESSAGE.  Se o comando WRAP
        está em ON, e caso a barra luminosa esteja posicionada no primeiro
        PROMPT, teclando Cursor para cima moverá a barra luminosa para o
        último PROMPT.  Da mesma forma, teclando Cursor para baixo do último
        PROMPT move a barra luminosa para o primeiro prompt.

        Para fazer uma seleçao, tecle Return ou o primeiro caractere de um
        PROMPT.  O comando MENU TO entao retorna a posiçao do PROMPT
        selecionado como um valor numérico para a variável de memória
        especificada.  A tecla Esc interrompe a seleçao de menu e retorna
        zero.  A tabela na página seguinte resume as teclas ativas dentro do
        comando MENU TO.

       Rotinas SET KEY: Um comando MENU TO pode ser aninhado num
        procedimento SET KEY chamado dentro de um menu sem que os PROMPTs
        pendentes sejam apagados, o que nao acontece com os comandos
        GET/READ.

        Tabela 4-8: Teclas Ativas em MENU TO
        ---------------------------------------------------------------------
        Tecla                Açao
        ---------------------------------------------------------------------
        Cursor para cima     Move para o item anterior
        Cursor para baixo    Move para o próximo item
        Home                 Move para o primeiro item
        End                  Move para o último item
        Cursor para esquerda Move para o item anterior
        Cursor para direita  Move para o próximo item
        PgUp                 Seleciona item de menu, retorna posiçao
        PgDn                 Seleciona item de menu, retorna posiçao
        Return               Seleciona item de menu, retorna posiçao
        Esc                  Aborta seleçao, retorna zero
        Primeira letra       Seleciona primeiro item iniciando com a letra,
                             retorna posiçao
        ---------------------------------------------------------------------

 Exemplos

     Este exemplo cria um menu de barra luminosa vertical simples com as
     mensagens aparecendo centradas na linha 23.  Quando este comando é
     usado, a barra luminosa sempre aparece sobre o segundo PROMPT baseado
     no valor inicial definido em nChoice:

     LOCAL nChoice := 2
     SET WRAP ON
     SET MESSAGE TO 23 CENTER
     @ 6, 10 PROMPT "Inclui" MESSAGE "Nova conta"
     @ 7, 10 PROMPT "Edita " MESSAGE "Muda conta"
     @ 9, 10 PROMPT "Fim   " MESSAGE "Retorna ao DOS"
     MENU TO nChoice
     //
     IF nChoice == 1
        NewAccount()
     ELSEIF nChoice == 2
        ChangeAcoount()
     ELSE
        QUIT
     ENDIF
     RETURN

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: @...PROMPT SET MESSAGE SET WRAP ACHOICE()