Árvore de páginas

Sintaxe Mínima

@ <nRow>,<nCol> FOLDER <oFolder> 

Sintaxe Completa

@ <nRow>, <nCol> FOLDER <oFolder> 
[ OF | WINDOW | DIALOG <oWnd> ]
[ PROMPT | PROMPTS | ITEMS <cPrompt,...> ]
[ PIXEL ]
[ COLOR <nClrText> ]
[ OPTION <nOption> ]
[ SIZE <nWidth,nHeight> ]
[ MESSAGE <cMsg> ]

Include

#include "totvs.ch"

Parâmetros

CláusulaTipoObrigatóriaDescrição
<nRow>NSParâmetro obrigatório, indica a linha da tela (em pixels ou coordenadas) onde o componente será exibido. Deve ser usada uma expressão numérica, constante ou variável.
<nCol>NSParâmetro obrigatório, indica a coluna da tela (em pixels ou coordenadas) onde o componente será exibido. Deve ser usada uma expressão numérica, constante ou variável.
FOLDER <oFolder>CSCláusula obrigatória, indica o uso do componente de agrupamento tFolder(). Deve ser sucedido da variável AdvPL a receber o objeto do componente.
OF | WINDOW | DIALOG  <oWnd>ONCláusula opcional, quando informada permite especificar o nome de uma variável AdvPL que contenha o objeto ou componente pai de interface (janela ou diálogo, painel) onde o componente deve ser exibido. Caso seja omitida, o componente será criado na janela ou diálogo ativos no momento. Embora todas as cláusulas sejam suportadas (OF, DIALOG ou WINDOW), por questões de padronização de código, recomendamos o uso da cláusula OF – pois um componente de interface não necessariamente têm seu componente pai definido como uma caixa de diálogo, qualquer outro componente de agrupamento ou container pode ser utilizado – como um tPanel, tFolder, etc.
PROMPT | PROMPTS | ITEMS <cItem1,...>ACNPermite especificar uma ou mais strings, separadas por vírgula, para serem utilizadas como títulos de cada pasta (folder) criado. Internamente as strings separadas por vírgula serão tratadas como um Array.
PIXEL 
NCláusula opcional, quando uma delas for especificada, indica que o sistema de coordenadas usado nos parâmetros <nRow> e <nCol> são em pixels (ou pontos) a partir da coordenada superior esquerda (0,0) do componente visual pai em uso no qual o objeto será posicionado. 
COLOR  <nClrText> NNCláusula opcional, permite alterar a cor do texto da mensagem a ser exibida pelo componente. Deve ser usada uma expressão numérica, constante ou variável.
OPTION <nOption>NNIndica a pasta selecionada na criação do componente.
SIZE <nWidth>,<nHeight>NNParâmetros opcionais, indicam respectivamente o tamanho horizontal e vertical a ser usado pelo componente. Caso não especificados no construtor, devem ser informados posteriormente para a visualização correta do componente.
MESSAGE <cMSg>CNIndica a mensagem, do tipo dica de contexto (tooltip/hint), que será apresentada ao posicionar o ponteiro do mouse sobre o objeto.
  • Quando utilizamos o comando TFOLDER para a criação do componente, e informamos o parâmetro PROMPT (ou PROMPTS ou ITEMS), as abas internas de cada folder já são criadas e nomeadas. As abas podem ser acessadas pela propriedade aDialogs, do tipo ARRAY (vetor), onde cada elemento corresponde ao objeto da aba, para ser possível criar os demais componentes visuais dentro das abas desejadas.
  • O componente FOLDER pode ser criado "vazio", e posteriormente adicionamos as abas usando o método AddItem() da classe tFolder().

Classe usada pelo comando

O comando @ .. FOLDER é traduzido em tempo de compilação para utilizar a classe de interface visual do AdvPL TFOLDER() e seu método construtor NEW().

Referências

Construtor TFolder:New

Exemplo


Exemplo do comando @ ... FOLDER
#include 'totvs.ch'

User Function tFolder1()
Local oDlg     
Local oFolder
	
DEFINE DIALOG oDlg TITLE "Exemplo de FOLDER" FROM 0,0 TO 600,800 PIXEL

@ 10,15 FOLDER oFolder SIZE 260, 200 OF oDlg  PIXEL

oFolder:AddItem("Aba 01",.T.)
oFolder:AddItem("Aba 02",.T.)

@ 10,10 SAY "Texto na Aba 01" OF oFolder:aDialogs[1] PIXEL
@ 10,10 SAY "Texto na Aba 02" O
F oFolder:aDialogs[2] PIXEL
        
oFolder:SetOption(1)

ACTIVATE DIALOG oDlg CENTER 

Return


User Function tFolder2()
Local oDlg     
Local oFolder
	
DEFINE DIALOG oDlg TITLE "Exemplo de FOLDER" FROM 0,0 TO 600,800 PIXEL

@ 10,15 FOLDER oFolder PROMPTS 'Aba 01','Aba 02' SIZE 260, 200 OF oDlg  PIXEL

@ 10,10 SAY "Texto na Aba 01" OF oFolder:aDialogs[1] PIXEL
@ 10,10 SAY "Texto na Aba 02" OF oFolder:aDialogs[2] PIXEL

ACTIVATE DIALOG oDlg CENTER 

Return



Resultado

  • Ambos os programas terão o mesmo resultado


  • Sem rótulos