Jerfs 1 Denunciar post Postado Julho 17, 2008 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
bdexterholland 0 Denunciar post Postado Julho 17, 2008 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
Jerfs 1 Denunciar post Postado Julho 18, 2008 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
marcio.theis 3 Denunciar post Postado Julho 18, 2008 Consegui criar, basta colocar a propriedade .Parent dos componentes criados apontando para esta aba... Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Julho 18, 2008 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
marcio.theis 3 Denunciar post Postado Julho 18, 2008 Mas basta fazer como o amigo bdexterholland colocou, funciona perfeitamente... http://forum.imasters.com.br/index.php...t&p=1085111 Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Julho 18, 2008 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
marcio.theis 3 Denunciar post Postado Julho 18, 2008 No parâmetro você passa o componente TPageControl, pode então criar um novo parâmetro para passar o nome da aba, e atribuir a mesma... Compartilhar este post Link para o post Compartilhar em outros sites
Jerfs 1 Denunciar post Postado Julho 18, 2008 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
marcio.theis 3 Denunciar post Postado Julho 18, 2008 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
Jerfs 1 Denunciar post Postado Julho 18, 2008 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
marcio.theis 3 Denunciar post Postado Julho 18, 2008 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
Jerfs 1 Denunciar post Postado Julho 18, 2008 Muito obrigado, deu certo! show!!! Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Julho 18, 2008 beleza... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites