Desabilitar tabSheet do pageControl - Como?

Delphi

09/07/2009

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.


.lg.

.lg.

Curtidas 0

Respostas

Nasguone

Nasguone

09/07/2009

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;


GOSTEI 0
Knight_of_wine

Knight_of_wine

09/07/2009

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


GOSTEI 0
Catunda

Catunda

09/07/2009

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

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


GOSTEI 0
.lg.

.lg.

09/07/2009

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

[Resolvido]


GOSTEI 0
Leandro Oliveira

Leandro Oliveira

09/07/2009

Olá

TabShet->TabVisible= false;


ex:
TabFrete->TabVisible		= false;
GOSTEI 0
Humberto Lazo

Humberto Lazo

09/07/2009

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...


GOSTEI 0
POSTAR