Ir para conteúdo
Fórum Script Brasil
  • 0

Tablesheet


Wa's™

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Tem outra forma também:

Para adicionar TabSheet: Coloca o PageControl no formulário -> clica com o botão esquerdo -> new page.

Para mudar o Caption: Seleciona a aba -> clica no corpo dela -> propriedade "Caption", no object Inspector.

Link para o comentário
Compartilhar em outros sites

  • 0

Bem, mostramos as duas opções, agora vai de acordo com a vontade do freguês, certo...

Abraços.

Raphael Arlon

Link para o comentário
Compartilhar em outros sites

  • 0
e como eu adiciono um MEMO em cada uma das novas TabSheet??
Pegando um gancho no exemplo, e tornando uma função genérica:

P/ criar:

procedure AddTabSheet(PageControl :TPageControl; Caption :string);
var 
  TS :TTabSheet;
begin
  TS := TTabSheet.Create(PageControl.Owner);
  TS.Caption := Caption;
  TS.PageControl := PageControl; // é aqui que você a insere na PageControl.
 // aqui criamos o Memo (sem o uso de variável local), passando o Owner do PageControl
 // que normalmente é o Form em que ele está inserido
  with TMemo.Create(PageControl.Owner) do
  begin
    Parent := TS;  // "indica" aonde ele será "pintado"
   // estes dados também poderiam ser parâmetros na função
    Top := 8;
    Left := 8;
    Height := 100;
    Width := 200;
   // ou se for para alinhá-los a área client, então bastaria somente:
   // Align := alClient;
  end;
end;

e vale para qualquer componente que você quiser adicionar ao TabSheet (ou outro componente "container").

Abraços

end;

Link para o comentário
Compartilhar em outros sites

  • 0
e como eu adiciono um MEMO em cada uma das novas TabSheet??
Pegando um gancho no exemplo, e tornando uma função genérica:

P/ criar:

procedure AddTabSheet(PageControl :TPageControl; Caption :string);
var 
  TS :TTabSheet;
begin
  TS := TTabSheet.Create(PageControl.Owner);
  TS.Caption := Caption;
  TS.PageControl := PageControl; // é aqui que você a insere na PageControl.
 // aqui criamos o Memo (sem o uso de variável local), passando o Owner do PageControl
 // que normalmente é o Form em que ele está inserido
  with TMemo.Create(PageControl.Owner) do
  begin
    Parent := TS;  // "indica" aonde ele será "pintado"
   // estes dados também poderiam ser parâmetros na função
    Top := 8;
    Left := 8;
    Height := 100;
    Width := 200;
   // ou se for para alinhá-los a área client, então bastaria somente:
   // Align := alClient;
  end;
end;

e vale para qualquer componente que você quiser adicionar ao TabSheet (ou outro componente "container").

Abraços

end;

e como eu faço um IF para verificar c existe um TabSheet com esse nome e se não existi criar um

verificar c existe o TTabSheet com esse nome e c não existe criar ?

Link para o comentário
Compartilhar em outros sites

  • 0
e como eu faço um IF para verificar c existe um TabSheet com esse nome e se não existi criar um verificar c existe o TTabSheet com esse nome e c não existe criar ?
Eu nem me preocupei com este detalhe, porque dependendo o caso não é necessário.

Mas, considerando que você tenha que informar um nome para o TabSheet sendo criado, não há qualquer problema já que você deverá ter ele de ante-mão. Assim, modificando um pouco o código:

procedure AddTabSheet(PageControl :TPageControl; SheetName, Caption :string);
var
  TS :TTabSheet;
begin
 // tentamos encontra a TabSheet na lista de componentes do Owner do PageControl (já que é este mesmo
 // Owner que passamos ao novo TabSheet que criamos) e caso não seja encontrada, criamos ela
  TS := PageControl.Owner.FindComponent(SheetName);
  if not Assigned(TS) then
  begin
    TS := TTabSheet.Create(PageControl.Owner);
    TS.Name := SheetName;
    TS.Caption := Caption;
    TS.PageControl := PageControl; // é aqui que você a insere na PageControl
  end;

// aqui criamos o Memo (sem o uso de variável local), passando o Owner do PageControl
// que normalmente é o Form em que ele está inserido
  with TMemo.Create(PageControl.Owner) do
  begin
    Parent := TS;  // "indica" aonde ele será "pintado"
   // estes dados também poderiam ser parâmetros na função
    Top := 8;
    Left := 8;
    Height := 100;
    Width := 200;
   // ou se for para alinhá-los a área client, então bastaria somente:
   // Align := alClient;
  end;
end;

Acredito que esteja funcional (não testei) ;)

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

oi

Aproveitando o tópico sobre o PageControl, depois que eu adiciono uma TabSheet é possivel tambem adicionar um botão ao lado, um botão para fechar a TabSheet, como acontece com o Firefox2 e ou Internet Explorer 7 ?

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...