Desabilitar tabSheet do pageControl - Como?

09/07/2009

27

Oi.

Tenho um tabSheet no page control que so quero que fique habilitado no pagecontrol se minha variavel boleana for true.
coloca
tabsheet.enabled := boVariavel;

Bem não é esse tipo de solução que quero, pois nas abas... a aba responsável por este tabsheet tem de estar desabilitado. Não quero ter que usar POG para evitar que a aba seja clicada.

TabSheet.enabled := False; //não funciona
Tabsheet.Visible := False; //serviria se a aba desaparecesse, mas não funcionou

Alguem tem alguma ideia ou já fez algo similar!?

Agradeço desde já.
Abraços,
.LG.


Responder

Posts

09/07/2009

Nasguone

Esta e uma rotina que utilizo para desabilitar, as demais enquanto não liberada a principal nunca tentei com visible false talvez funciona ....

Não sei se vai te ajudar mas de qualquer forma esta ai...

Sem mais
ECS

//rotina para esconder as abas quando esta em modulo de insert pesquisa excl/altera
procedure TfrmCadCarteiras.EscAbas(Tab: String);
var
I,P,AP : integer;
begin
//Caso seja N sera tirado de foco todas as abas ate que seja confirmado ou cancelado
if (libpa =´N´) then
begin
AP := pgManutencao.ActivePageIndex;
P := ((pgManutencao.PageCount)-1);
pnlBut.Visible := false;
for I := 0 to P do
begin
if (I <> AP) then
begin
pgManutencao.Pages[I].Enabled := False;
end
else
begin
pgManutencao.Pages[I].Enabled := True;
end;
end;
end;
//Caso seja S sera colocado em foco todas as abas ate que seja confirmado ou cancelado
if (libpa =´S´) then
begin
AP := pgManutencao.ActivePageIndex;
P := ((pgManutencao.PageCount)-1);
pnlBut.Visible := True;
for I := 0 to P do
pgManutencao.Pages[I].Enabled := True;
end;
end;


Responder

09/07/2009

Knight_of_wine

Tá na mão parceiro!

{Gerenciando as "Tabs"}
      for wI := 0 to ComponentCount - 1 do
      begin
        if ( Components[ wI ] is TTabSheet ) then
        begin
          if ( ( Components[ wI ] as TTabSheet ).Name <> ´TabConsulta´ ) then
          begin
            ( Components[ wI ] as TTabSheet ).TabVisible := False;
          end

          else
          begin
            ( Components[ wI ] as TTabSheet ).TabVisible := True;
          end;
        end;
      end;


Nesse exemplo tenho duas tabs uma de consulta onde coloco os dados que vou consultar e uma outra que apresenta dos dados da consulta.

Nesse caso o código vai para onCreate do Form e apresenta apenas a parte de consulta.

Funciona que é uma beleza.

Abraço


Responder

09/07/2009

Catunda

pagecontrol1.Pages[i].Enabled:=false;
pagecontrol1.Pages[i].TabVisible:=false;

onde ´ i ´ é o índice da tabsheet desejada;


Responder

09/07/2009

.lg.

Vlw gente. dessa eu não sabia. :oops:
Me salvaram da POG. xD

[Resolvido]


Responder
Olá

TabShet->TabVisible= false;


ex:
TabFrete->TabVisible		= false;
Responder

19/05/2019

Humberto Lazo

Oi.

No Firemonkey existe um componente TabControl com uma propriedade Tabposition; que quando configurada para None faz desaparecer as Abas impedindo o controle destas pelo usuário...


Responder