Atualmente estou aprendendo os fundamentos do Delphi.
Quando oculto o Formulário Principal e mostro/exibi um novo Formulário, o Ãcone do programa na Barra de Tarefas desaparece.
FRMsecond.show;
Frmmain.hide;
O .dpr
do meu programa se parece com isso:
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TFRMlogin, FRMlogin);
Application.CreateForm(TFRMstatistics, FRMstatistics);
Application.CreateForm(TFRMregister, FRMregister);
Application.Run;
end.
Esse é um comportamento esperado.
Você
Application.MainFormOnTaskbar
definiu comoTrue
, então o botão da Barra de Tarefas é de propriedade daApplication.MainForm
janela. Quando você oculta aMainForm
janela do , seu botão da Barra de Tarefas associado é oculto. Quando você mostra aMainForm
janela do , seu botão da Barra de Tarefas é exibido. É assim que os botões da Barra de Tarefas funcionam, conforme projetados.Se você não gostar desse comportamento, você pode definir como
Application.MainFormOnTaskbar
1 , então o botão da Barra de Tarefas será de propriedade da janela e ficará visÃvel independentemente da visibilidade do (a menos que você oculte a janela).False
TApplication
MainForm
TApplication
ShowMainFormOnTaskbar
(infelizmente) não está relacionado apenas à Barra de Tarefas, mas também está vinculado a muitos outros comportamentos relacionados ao Windows que foram introduzidos no VCL desde o Windows Vista em diante. Portanto, tenha em mente que a configuraçãoShowMainFormOnTaskbar
paraFalse
pode ter efeitos colaterais para seu programa. Ele basicamente esquecerá que está sendo executado em uma versão moderna do Windows e se comportará de acordo.definir Application.MainFormOnTaskbar como False realmente funcionará, mas (esqueci de mencionar, minha culpa) estou experimentando uma linguagem Delphi muito antiga e, portanto, definir Application.MainFormOnTaskbar como False não funcionará. Em vez disso, encontrei uma solução alternativa (criei um pequeno procedimento):