Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jerfs

[Resolvido] PageControl

Recommended Posts

Consigo criar de uma pagina dentro de um PageControl de forma dinâmica (clicar num item de uma lista, e usar o item criado para nomear a página dentro do PageControl? Se sim como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este é um trecho de um notepad que eu fiz que criava abas em tempo de execução. Este trecho cria um TTabSheet e um TMemo.

 

procedure CriaNovaAba(Dono: TPageControl);
var
  newtab: TTabSheet;
  rich: TRichEdit;
begin
  newtab:= TTabSheet.Create(Dono);
  rich:=TRichEdit.Create(Dono);
  newtab.PageControl:=Dono;
  with rich do
  begin
	Name:='TXT'+inttostr(newtab.TabIndex);
	Parent:=newtab;
	Align:=alClient;
  end;
  Dono.ActivePage:=newtab;
end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Legal, consegui criar a aba em tempo de execução... mas será que eu consigo criar componentes dentro dessa aba? Edits, List, etc?!?!?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas e se a aba foi criada dinâmicamente!? como eu vou dar um nome para me referenciar a ela depois!?

 

No meu programa eu tenho um listBox, quando o usuário clica num item do listBox, ele cria uma aba com o nome do item do listBox.

 

CODE

with TabControl do

Begin

Tabs.Add(listAudience.Items.Strings[listAudience.itemIndex]);

End;

 

Quero colocar um listBox dentro dessa aba, e para cada aba inserir componentes diferentes entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi... Agora vai! só tenho uma dúvida! ele declarou o parâmetro como TPageControl, como eu vou passar o item da lista como parâmetro TPageControl se ele é uma string?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê se eu entendi, antes de chamar a função, eu tenho que criar uma nova ABA, então passa-la?

 

Desculpe mas é que estou com dificuldade em entender mesmo! :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na função cria um novo parâmetro, e passa o nome da aba juntamente...

 

procedure CriaNovaAba(Dono: TPageControl; nomeAba: string);
var
  newtab: TTabSheet;
  rich: TRichEdit;
begin
  newtab:= TTabSheet.Create(Dono);
  rich:=TRichEdit.Create(Dono);
  newtab.PageControl:=Dono;
  newtab.Caption:=nomeAba;
  with rich do
  begin
	Name:='TXT'+inttostr(newtab.TabIndex);
	Parent:=newtab;
	Align:=alClient;
  end;
  Dono.ActivePage:=newtab;
end;

Sugiro você ler mais sobre a linguagem em si, aprender os comando, criação de procedures e functions, pois vai precisar usar muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beleza vou procurar algo sobre a linguagem para ler mesmo, acho que preciso. Valeu a dica! Será que você tem uma indicação do que ler!? Se tiver por favor me passa! será de grande valia!

 

Só para eu tirar esse dúvida! como eu passo o parâmetro para função? Quanto ao nome da aba eu entendi sobre criar outro parâmetro e tal, a minha dúvida é quanto ao parâmetro que foi chamado de DONO, qual é a forma correta de passar ele pra função? Só me explica como eu passo esse parâmetro por favor, obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa passar o seu TPageControl, digamos que o nome do seu pageControl é pageControl1

 

CriaNovaAba(pageControl,'Nome da Aba');

Ou então:

 

CriaNovaAba(pageControl,listAudience.Items.Strings[listAudience.itemIndex]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.