Fórum Destruir uma tabsheet que foi criada em tempo de execução #357819
30/04/2008
0
Criei uma rotina para que meus forms sejam abertos em ‘Tabsheet ‘ em tempo de execução.
A rotina pra criação é essa ela eu vi em uma aula de Guinther pauli.
https://www.devmedia.com.br/articles/viewcomp.asp?comp=4520&hl=*tabsheet*
private
procedure addtab(aform:TForm);
{ Private declarations }
Logo após a declaro
procedure Tfrm_menu.addtab(aform: TForm);
var
t: TTabSheet;
begin
t:= TTabSheet.Create(PageControl1);
t.PageControl := PageControl1;
t.Caption:= aform.Caption;
aform.BorderStyle:= bsNone;
aform.Align:= alClient;
aform.Parent := t;
aform.Show;
Após isso é só colocar em um button o form que você que abrir
addtab(frm_clientes);
Pronto vai ser criado tabsheet e dentro dela seu form.
Minha duvida é como destruir o Tabsheet criado?
Tentei isso,
var Tab: TTabSheet;
begin
Tab := PageControl1.ActivePage;
if Assigned(Tab) then
begin
Tab.Parent := nil;
Tab.PageControl := nil;
FreeAndNil(Tab);
end;
end;
Destrói mais da um erro ao tenta abrir o form outra vez.
Achilles
Curtir tópico
+ 0Posts
30/04/2008
Rodc
frm_clientes.BorderStyle:= bsNone;
frm_clientes.Align:= alNone;
frm_clientes.Parent := nil;
Gostei + 0
30/04/2008
Achilles
deu certo agora criar outro quando destruo, só que as tabsheet ficam maximizadas não é isso que eu queria não queria que elas ficassem como
o internet explorer 7 como os itens acima para que o susario possa chamar uma tabsheet e ter acesso a varios forms ao mesmo tempo.
vc tem alguma dica sobre isso?
Gostei + 0
30/04/2008
Rodc
frm_clientes.Close;
Sugiro também utilizar Frames (TFrame) ao invés de Formulário (TForm). Pois se nenhuma das telas serão exibidas sem estar dentro do PageControl, não precisa de todas as funcionalidades de um Formulário.
Gostei + 0
30/04/2008
Achilles
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)