Usina BRAdvPL Guia
Entrar
← Todos os tópicos
COMANDOPublicado

@ ... GROUP

@ <nTop>, <nLeft> GROUP <oGroup> TO <nBottom>, <nRight> [LABEL <cLabel>] [OF <oWnd>] [COLOR <nClrText>, <nClrBack>] [PIXEL]

Desenha uma moldura TGroup com título opcional para organizar controles visualmente.

Interface visualGroupTGroupAgrupamento visualLayoutComandos
01 · VISÃO GERAL

Visão geral

O comando @ ... GROUP desenha um retângulo de agrupamento na interface e pode apresentar um título. Durante a compilação, ele é convertido no construtor New() da classe TGroup. Diferentemente de TPanel ou TFolder, TGroup não cria um contêiner para os controles: os componentes posicionados dentro da moldura continuam pertencendo ao diálogo, painel ou aba informado em seus próprios comandos.

02 · SINTAXE

Sintaxe

@ <nTop>, <nLeft> GROUP <oGroup> TO <nBottom>, <nRight> [LABEL <cLabel>] [OF <oWnd>] [COLOR <nClrText>, <nClrBack>] [PIXEL]

Parâmetros

nTop, nLeft
NuméricoObrigatório

Linha e coluna da coordenada inicial da moldura.

oGroup
ObjetoObrigatório

Variável que receberá o objeto TGroup criado.

TO nBottom, nRight
NuméricoObrigatório

Linha e coluna da coordenada final, definindo os limites inferior e direito da moldura.

LABEL / PROMPT cLabel
CaractereOpcional

Título exibido na moldura do agrupamento.

OF oWnd
ObjetoOpcional

Diálogo, painel, aba ou outro componente pai em que a moldura será desenhada.

COLOR / COLORS nClrText, nClrBack
NuméricoOpcional

Cor do texto e, opcionalmente, cor de fundo do componente.

PIXEL
CláusulaOpcional

Indica que as coordenadas são expressas em pixels a partir do canto superior esquerdo do componente pai.

03 · EXEMPLO PRÁTICO

Agrupamento visual de credenciais

#Include "TOTVS.ch"

User Function ExGroup()
    Local oDlg
    Local oGroup
    Local cUsuario := Space(30)
    Local cSenha := Space(20)

    Define Dialog oDlg Title "Acesso" ;
        From 100, 100 To 300, 560 Pixel

    @ 10, 10 Group oGroup To 90, 250 ;
        Label "Credenciais" Of oDlg Pixel

    @ 30, 20 Say "Usuário:" Of oDlg Pixel
    @ 28, 75 Get cUsuario Size 130, 12 Of oDlg Pixel

    @ 58, 20 Say "Senha:" Of oDlg Pixel
    @ 56, 75 Get cSenha Size 130, 12 ;
        Of oDlg Pixel Password

    Activate Dialog oDlg Centered
Return
Resultado esperado

GROUP desenha a moldura. SAY e GET pertencem diretamente a oDlg, embora apareçam visualmente dentro dela.

04 · EXEMPLO PRÁTICO

Grupo dentro de uma aba

#Include "TOTVS.ch"

User Function ExGroupFolder()
    Local oDlg
    Local oFolder
    Local oGroup
    Local lEnviar := .T.

    Define Dialog oDlg Title "Configurações" ;
        From 0, 0 To 320, 560 Pixel

    @ 10, 15 Folder oFolder Prompts "Notificações" ;
        Size 240, 120 Of oDlg Pixel

    @ 10, 10 Group oGroup To 75, 210 ;
        Label "E-mail" Of oFolder:aDialogs[1] Pixel

    @ 30, 20 CheckBox lEnviar Prompt "Enviar confirmação" ;
        Size 120, 15 Of oFolder:aDialogs[1] Pixel

    Activate Dialog oDlg Centered
Return
Resultado esperado

A moldura e o CHECKBOX pertencem à mesma aba; oGroup continua sendo apenas o elemento visual.

BOAS PRÁTICAS
  • Inclua TOTVS.ch para disponibilizar o comando ao compilador.
  • Use GROUP para comunicar visualmente que determinados campos pertencem à mesma seção.
  • Associe os controles internos ao mesmo diálogo, painel ou aba do grupo — não ao objeto oGroup.
  • Use títulos curtos e significativos em LABEL ou PROMPT.
  • Mantenha margem suficiente entre a borda, o título e os controles internos.
  • Informe OF explicitamente para evitar dependência da janela ativa.
ARMADILHAS COMUNS
  • TGroup não é contêiner: OF oGroup não deve ser usado para criar os controles que aparecem dentro da moldura.
  • As coordenadas finais em TO precisam ser maiores que as coordenadas iniciais para formar uma área válida.
  • Misturar PIXEL com outra unidade entre a moldura e os controles pode causar desalinhamento.
  • Campos posicionados sobre o título ou muito próximos da borda prejudicam a leitura.
  • Muitos grupos aninhados ou decorativos tornam a interface visualmente pesada.
  • Sem OF, a moldura será desenhada na janela ou no diálogo ativo.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. @ ... GROUP. TDN. Criado por Julio Wittwer; última alteração em 29 maio 2019.
  2. TOTVS. TGroup:New — construtor da classe usada pelo comando. TDN.
Situação
Publicado
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR