Dois Formulários aberto na Aplicação

Delphi

11/05/2016

Boa Tarde pessoal, como faço para abrir dois formulários ao mesmo tempo na aplicação..

Por exemplo..

Tenho uma tela de clientes, quero minimizar dentro da aplicação e ir para a tela de produtos, depois que fechar a tela de produtos maximizo de volta a tela de clientes...

É possível?

Seria igual no windows mesmo..

Abraço e muito Obrigado.
Antonelly Silva

Antonelly Silva

Curtidas 0

Respostas

Jacques Silva

Jacques Silva

11/05/2016

Tem duas maneiras de fazer isso:
1° Usar o FormStyle = fsMDIForm -> Para o Form Pai / fsMDIChild -> Para Form Filho.
2° Usar o Componente JEDI que trabalha com abas: JvTabBar, JvPageList.

Se vc quiser usar a segunda opção posso lhe fornecer um exemplo.
GOSTEI 0
Antonelly Silva

Antonelly Silva

11/05/2016

Fiz com a primeira que me parece mais simples, só que ao abrir o form Filho aparece a mensagem de erro..

cannot make a visible window modal..

Chamando o form dessa folha..

try
application.createform(tfrmprecoatacado, frmprecoatacado);
frmprecoatacado.ShowModal;
finally
freeandnil(frmprecoatacado);
end;
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

11/05/2016

Se você não for usar MDI, para abrir mais de um form ao mesmo tempo utilize Show ao invés de ShowModal.

[b]ShowModal[/b] = Abre o form de modo exclusivo (Enquanto este form não for fechado não se pode abrir outro form).

[b]Show[/b] = Abre o form de modo não exclusivo (Abre quantos form's você quiser).
GOSTEI 0
Antonelly Silva

Antonelly Silva

11/05/2016

Entendi,
usei dessa forma

application.createform(tfrmprecoatacado,frmprecoatacado);
frmprecoatacado.show;
finally
freeandnil(frmprecoatacado);
end;


simplesmente o form não abre e não retorna nenhum erro..

O pai esta como: fsMDIForm
O filho esta como: fsMDIChild
GOSTEI 0
Natanael Ferreira

Natanael Ferreira

11/05/2016

Como tinha dito, a minha dica é para form's não MDI. Altere:

Form pai propriedade FormStyle: [b]fsNormal[/b]
Form filho propriedade FormStyle: [b]fsNormal[/b]

Para abrir o form:
application.createform(tfrmprecoatacado,frmprecoatacado);
frmprecoatacado.show;

Para fechar o form, coloque no evento OnClose do form:
Action:= caFree;
frmprecoatacado:= nil;
GOSTEI 0
Antonelly Silva

Antonelly Silva

11/05/2016

[RESOLVIDO]
Muito Obrigado.
GOSTEI 0
POSTAR