Fórum TabSheet (outra vez) #275802

05/04/2005

0

Caros amigos estou postando esta mensagem outra vez porque ainda nao tive resultado, e estou tambem postando um trecho do meu codigo para ficar mais claro, OK

procedure TForm1.CategoryButtons1Categories0Items0Click(Sender: TObject);
var
t: TTabSheet;
begin
t := TTabSheet.Create(PageControl1);
t.PageControl := PageControl1;
t.Caption := ´Corte´;
t.ImageIndex := -1;
t.Visible := True;

with TCorte1.Create(t) do
begin
BorderStyle := bsNone;
Align := alClient;
Parent := t;
Show;
end;
end;

O meu problema e o seguinte ao precionar o botao e criado um TabSheet com este nome, agora se eu precionar este botao novamente e criado outro TabSheet com o mesmo nome e isto que eu requira evitar sera possivel.

Se alguem puder me ajudar agradeco desde ja.

Atenciosamente


Luiz Dionysio


Luiz Dionysio

Luiz Dionysio

Responder

Posts

05/04/2005

Massuda

...ao precionar o botao e criado um TabSheet com este nome, agora se eu precionar este botao novamente e criado outro TabSheet com o mesmo nome e isto que eu requira evitar sera possivel...
Porque você não desabilita o botão quando cria o tabsheet (no código que você postou) e reabilita esse botão no OnDestroy do form que você está embutindo na tabsheet?


Responder

Gostei + 0

05/04/2005

Raserafim

olha só Dionysio, já tinha respondido no seu outro tópico:
var 
  I: Integer; 
begin 
  for I := 0 to ComponentCount - 1 do 
  begin 
    if Components[I].ClassType = TTabSheet then 
      Break; //sai do laço caso tenha algum TabSheet 
  end; 
  if I = ComponentCount then //se não tiver nenhum tabsheet o valor de I vai ser igual ao ComponentCount 
  begin 
    //criar dinamicamente um TabSheet 
  end; 
end;


basta apenas fazer as adaptação, mas aí vai:

procedure TForm1.CategoryButtons1Categories0Items0Click(Sender: TObject); 
var 
  t: TTabSheet; 
  I: Integer;
begin 

  for I := 0 to ComponentCount - 1 do 
  begin 
    if Components[I].ClassType = TTabSheet then 
      Break;
  end; 

  if I = ComponentCount then
  begin 
    t := TTabSheet.Create(PageControl1); 
    t.PageControl := PageControl1; 
    t.Caption := ´Corte´; 
    t.ImageIndex := -1; 
    t.Visible := True; 

    with TCorte1.Create(t) do 
    begin 
      BorderStyle := bsNone; 
      Align := alClient; 
      Parent := t; 
      Show; 
    end; 
  end; 

end;


se eu tiver entendido bem: vc quer que al clicar no botão, cosa não tenha nenuhm tabsheet então ele é criado, mas caso já tenha nada aconteça. se for isso, o código é esse.


Responder

Gostei + 0

06/04/2005

Gandalf.nho

[b:b2f44e9368][color=red:b2f44e9368]Bloqueado por Infração às Regras de Conduta :[/color:b2f44e9368][/b:b2f44e9368]

Duplicidade.
[url]http://forum.clubedelphi.net/viewtopic.php?p=194442[/url]

Para maiores esclarecimentos pode mandar-me uma [url=http://forum.clubedelphi.net/privmsg.php?mode=post&u=8378]Mensagem Particular[/url].


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar