+2 votos
155 visitas
Olá Prezados,

Estou com uma dúvida. É possível informar ao TBVirtualEngine do delphi para não montar alguma página de um campo do tipo TABS?

Eu sei que existe a propriedade HideFields e já utilizei ela algumas vezes. Acontece que não quero que um campo não seja exibido totalmente, pois tenho um campo do tipo TABS com 5 páginas, e gostaria que somente uma das páginas não fosse criada. Tem como fazer isso?

Algo como --> bveDemanda.HideFields.Add('TIPO=1002');
por (54 pontos) | 155 visitas

1 Resposta

+1 voto

Apenas via macro.

Na macro é possível acessar o objeto do campo e esconder uma tab específica. Como o TBVirtualEngine consegue rodar macro, acredito que esta solução sirva.

Por exemplo, para esconder a primeira página do campo PERIDIOCIDADE utilize:

PERIODICIDADE.Pages(0).Visible = False

 

por (865 pontos)
A questão não é esconder. Isso já é feito atualmente.

A ideia seria não criar todos os campos presentes na página, pois atualmente no sistema, mais especificamente na central de atendimento de um determinado cliente, esse componente está sendo utilizado para montar a interface de uma tabela com mais de 700 campos, composto por dezenas de abas (quase centenas), sendo que quase metade não são mais exibidas (por conta das regras que foram sendo alteradas), e que portanto faz com que sejam criados centenas de campos que nunca serão utilizados.


Isso está fazendo com que o número de objetos do usuário (objetos do gerenciador de janelas) criado para o processo fique muito grande e cause erros na interface.

Tem como, portanto, impedir que o VirtualEngine não perca tempo nem recurso criando esses campos?
Para o VirtualEngine não criar o componente, existem duas alternativas. Cada uma com suas desvantagens.

* Tornar o campo invisível no Builder, mas vai afetar todas as interfaces
* Existe uma propriedade onde você escolhe os campos que quer que sejam criados. Mas vai esconder o campo Tab e todas as suas páginas.
Nos 2 casos o tab todo não vai ser criado. Então outra abordagem será necessária.

Muito obrigado pela resposta.

Perguntas relacionadas

+11 votos
1 resposta
+1 voto
1 resposta
perguntado 12 Nov, 2019 por andre.junges (46 pontos) | 108 visitas
+6 votos
1 resposta
perguntado 24 Out, 2014 por fernando.medeiros (195 pontos) | 105 visitas
Melhores Jul 2025
  1. Silvio

    5 Pontos

  2. Rafael Joenck

    5 Pontos

  3. Vagner

    5 Pontos

  4. Elcio

    5 Pontos

  5. DarrenLabarb

    5 Pontos

  6. TimothyWhith

    5 Pontos

  7. VictorinaMir

    5 Pontos

  8. luklepa

    5 Pontos

  9. KatjaStover

    5 Pontos

  10. LaurenceBeat

    5 Pontos

200 pontos
Melhores 2025 Jul 28 - Aug 03
  1. Larson

    156 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. danilo.pereira

    96 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. diuari.molinari

    52 Pontos

  9. diuari.molinari

    51 Pontos

  10. diuari.molinari

    51 Pontos

517 perguntas
566 respostas
389 comentários
704 usuários