Minimizar um form com formstyle = fsStayOnTop

Delphi

17/05/2023

Olá pessoal,

Delphi 7

1) Tenho um form principal com formstyle = fsMDIForm
2) Tenho um form2 com formstyle = fsStayOnTop

Quando abro o form2 a partir do form principal como abaixo,
form2 := tform2.create(application);
form2.Show;
Ao minimizar o Form2, ele simplesmente some, não aparece a telinha no canto esquerdo do windows para que eu possa dar Restore.

Como resolvo isso?
Giovani Arakan

Giovani Arakan

Curtidas 0

Respostas

Arthur Heinrich

Arthur Heinrich

17/05/2023

Forms do tipo MDI (multiple-document interface) não são aplicações, de fato, para aparecerem na barra de tarefas. Elas são documentos que aparecem dentro de um form principal.

Normalmente, aplicações deste tipo exibem a lista de documentos abertos em um menu.

Entretanto, quando um componente é aberto, ele é exibido no contexto do seu "parent" component.

Você pode tentar algo como:

form2 := tform2.create(application);
form2.Parent:=Self; // Self neste contexto, significa o form principal, já que o form2 está sendo criado dentro de um método do form principal.
form2.Show;

É possível que, assim, a versão minimizada do seu form apareça dentro do form principal.
GOSTEI 0
Giovani Arakan

Giovani Arakan

17/05/2023

Olá Arthur, valeu pela resposta.

Tentei mas não deu certo. Ele some totalmente.
Como seria colocar em um menu os forms que estão minimizados?

Valeu!
GOSTEI 0
Giovani Arakan

Giovani Arakan

17/05/2023

Arthur,

Segui tua dica,

form2 := tform2.create(application);
form2.Parent:=Self; // Self neste contexto, significa o form principal, já que o form2 está sendo criado dentro de um método do form principal.
form2.Show;

mudei o form principal para formstyle := fsNormal e funcionou perfeitamente.

Valeu!!
GOSTEI 0
POSTAR