Home

Linha Microsiga Protheus

Páginas filhas
  • VTAchoice - Executa um menu pop-up -- 24883

Função: VTAchoice - Executa um menu pop-up
Abrangências: Microsiga Protheus 8.11 , Protheus 10
Versões: Microsiga Protheus 8.11 , Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Idiomas: Espanhol , Inglês
Descrição:
Executa um menu pop-up.
Sintaxe:

VTAchoice - Executa um menu pop-up ( nTopo nEsquerda nBase nDireita acItensMenu [ alItensSelecionaveis ] [ cFuncaoUsuario ] [ nItemInicial ] [ lNaoBranco ] [ lMsg ] [ nLinhaJanela ] ) --> nPosicao

Retorno:
    nPosicao(numerico)
  • Retorna a posição numérica ocupada pelo item de menu selecionado no vetor acItensMenu. Se o processo de seleção for interrompido, retorna zero.
Observações

Tipo: TELNET VT100

Função de usuário:
Da mesma forma que as demais funções de interface com o usuário, VTACHOICE() aceita uma função de usuário.  A função de usuário é especificada quando se deseja aninhar invocações da função VTACHOICE() para criar menus hierárquicos ou redefinir teclas.

Modos de VTACHOICE()
0 - Inativo
1 - Tentativa de passar início da lista
2 - Tentativa de passar final da lista
3 - Normal
4 - Itens não selecionados

Após ter executado as operações apropriadas ao modo VTACHOICE(), a função de usuário deve retornar um valor que solicite ao VTACHOICE() executar uma operação entre o seguinte conjunto de ações:

Valores de Retorno da Função de Controle de VTACHOICE()
0 - Aborta seleção
1 - Executa seleção
2 - Continua VTACHOICE()
3 - Vai para o próximo item cuja primeira letra é a tecla pressionada

Exemplos
acMenuItens := {"Um","Dois","-----","Tres"}alSelectableItens := {.T.,.T.,.F.,.T.} nPosition := VTACHOICE(0, 0, 7, 19, acMenuItens, alSelectableItens,"TesteCtrl" )  Function TesteCtrl(nModo,nElem,nElemW) If nModo == 1  	VtAlert('Top') ElseIf nModo == 2  	VtAlert('Bottom') Else  	If VTLastkey() == 27 		VtAlert('Sair') 		VTBeep(3) 		Return 0        	ElseIf VTLastkey() == 13       		VtAlert('Ok')		VtBeep(1)		Return 1	EndIf       EndIfReturn 2
Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
nTopo Numérico Define a coordenada do canto superior da janela. Valores de linha e coluna podem variar entre 0, 0 e VTMAXROW(), VTMAXCOL(). X
nEsquerda Array of Record Define a coordenada do canto superior da janela. Valores de linha e coluna podem variar entre 0, 0 e VTMAXROW(), VTMAXCOL(). X
nBase Array of Record Define a coordenada do canto inferior da janela. Valores de linha e coluna podem variar entre 0, 0 e VTMAXROW(), VTMAXCOL(). X
nDireita Array of Record Define a coordenada do canto direito da janela. Valores de linha e coluna podem variar entre 0, 0 e VTMAXROW(), VTMAXCOL(). X
acItensMenu Array of Record Vetor que contém as cadeias de caracteres que serão exibidas como itens de menu. Cada item de menu será mais tarde identificado por meio de sua posição numérica nesse vetor. X
alItensSelecionaveis Array of Record Vetor paralelo de valores lógicos, diretamente relacionados à acItensMenu que especifica os itens do menu que poderão ser selecionados. Os elementos podem ser valores lógicos ou cadeias de caracteres. Caso seja uma cadeia de caracteres, o elemento é avaliado como uma expressão macro que deverá retornar um tipo de dado lógico. Em ambos os casos, um valor falso (.F.) significa que o item de menu correspondente não está disponível, e um valor verdadeiro (.T.) significa que está disponível.
cFuncaoUsuario Array of Record Nome de uma função definida pelo usuário que é executada quando uma tecla não reconhecida for pressionada. O nome da função é especificado como uma expressão caracter sem parênteses ou argumentos.
Note que o comportamento de VTACHOICE() é afetado pela presença desse argumento. Consulte as observações para mais informações.
nItemInicial Array of Record Posição ocupada no vetor de acItensMenu pelo item que aparecerá em destaque quando o menu for exibido pela primeira vez. Caso especifique um item de menu que não esteja disponível, ou caso não utilize argumento algum, o item que aparecer em destaque será o primeiro item selecionável do vetor.
lNaoBranco Array of Record Se verdadeiro, as opções do menu serão montadas conforme o tamanho da opção, desconsiderando os espaços em branco à direita e à esquerda. Se falso ou omitido, as opções do menu serão montadas conforme a dimensão da tela do VTACHOICE definida em nEsquerda e nDireita.
lMsg Array of Record Conteúdo tem que ser NIL, parâmetro reservado para implementação futura.
nLinhaJanela Array of Record É o número da linha da janela na qual o item de menu inicial aparecerá.