Fórum Como abrir forms em formato pagecontrol? Um vídeo de exemplo #606792
28/11/2019
0
Olá bom dia a todos, dando continuidade no meu projeto, estou procurando na internet, algum exemplo de como se faz isso, ou se alguém puder me ajudar, dando uma dica. O que preciso que meu software abra os forms igual ao que está neste vídeo, ou seria em pagecontrol ou tab,
Valeu a todos.
https://www.youtube.com/watch?v=WialT0IeDP8
Valeu a todos.
https://www.youtube.com/watch?v=WialT0IeDP8

Júnior Pinheiro
Curtir tópico
+ 0
Responder
Posts
28/11/2019
Emerson Nascimento
coloque no seu form principal um pagecontrol alinhado alClient.
implemente a procedure abaixo no form principal:
Daí, quando você for criar o formulário, poderá fazer de duas formas:
Crie uma rotina para fechar os formulários:
E, onde você for fechar, chame a procedure:
Falta implementar o 'X' na aba da tabsheet.
implemente a procedure abaixo no form principal:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | procedure TFormPrincipal . AbreForm(Formulario: TComponentClass; PageControl: TPageControl = nil ); var TabSheet: TTabSheet; Form: TComponent; begin // cria o formulário Form := Formulario . Create(Self); if PageControl <> nil then begin TForm(Form).BorderStyle := bsNone; // retira as bordas // cria a 'pagina' TabSheet := TTabSheet . Create(Self); TabSheet . Caption := TForm(Form).Caption; TabSheet . PageControl := PageControl1; // exibe o formulário TForm(Form).Align := alClient; TForm(Form).Parent := TabSheet; end ; TForm(Form).Show; end ; |
Daí, quando você for criar o formulário, poderá fazer de duas formas:
1 2 | AbreForm(TFormCadastro1, PageControl1); // abre o formulário dentro da pagecontrol AbreForm(TFormCadastro1); // abre o formulário da forma comum |
Crie uma rotina para fechar os formulários:
1 2 3 4 5 6 7 8 9 | procedure FechaForm(Formulario: TForm); var Parente: TWinControl; begin Parente := Formulario . Parent; FreeAndNil(Formulario); if (Parente <> nil ) and (Parente is TTabSheet) then FreeAndNil(Parente); end ; |
E, onde você for fechar, chame a procedure:
1 | FechaForm(Self); |
Falta implementar o 'X' na aba da tabsheet.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)