Um Form sobrepondo ha tudo que existir?

Delphi

25/05/2005

Olá colegas.

Preciso que um form, fique sempre ativo pelo periodo determinado.

Já tentei [b:f80e7da485][color=orange:f80e7da485]fsStayOnTop[/color:f80e7da485][/b:f80e7da485],
ja tentei

procedure TfrmAviso.FormCreate(Sender: TObject); begin SetWindowPos(Handle,Hwnd_TopMost,0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE) end;


Ja tentei os dois, mas o resultado é satisfatorio, explico.

Se estou na tela principal do módulo, e chamo FrmAviso, a mesma sobrepoe, ao tela principal e as vezes algumas telas de outros aplicativos (I.E, Delphi, etc), mas preciso que fique sempre a frente de todas as telas de qualquer aplicativo.


Outro ponto. Se estou na tela principal e chamo FrmAviso, e em seguida chamo qualquer outra tela da minha aplicação, ela sobrepoe FrmAviso.

Alguem teria alguma ideia?


Obs: FrmAviso é chamado pelo metodo Show, e as demais telas do sistema sao ShowModal. :roll: :roll:


Macario

Macario

Curtidas 0

Respostas

Rjun

Rjun

25/05/2005

Dê uma olhada nesse link :

http://64.233.161.104/search?q=cache:DXuPUGrYOzIJ:www.forumweb.com.br/forum/index.php¬3Fshowtopic¬3D10843¬26view¬3Dgetnewpost+ZORDER+DELPHI&hl=pt-BR&start=3&lr=lang_pt


GOSTEI 0
Rjun

Rjun

25/05/2005

Corrigindo o link :

http://www.forumweb.com.br/foruns/index.php?s=61b374feb5350004873857bf51f7f0f0&showtopic=10843&pid=50401&st=0&#entry50401


GOSTEI 0
Macario

Macario

25/05/2005

Olá colega.

O topico acima, é sobre instancias de um aplicativo.!?

Não achei nada que me auxilie, quanto a manter um form em [b:abda7b9b72][color=orange:abda7b9b72]fsStayOnTop[/color:abda7b9b72][/b:abda7b9b72]


GOSTEI 0
Rjun

Rjun

25/05/2005

Foi mal...agora acho que o link esta certo.

http://www.forumweb.com.br/foruns/index.php?act=Search&CODE=simpleresults&sid=45924cc8e0f0ad88c44124c082885744&highlite=ZORDER


GOSTEI 0
Macario

Macario

25/05/2005

Colega desculpa a minha falta de entendimento do topico,

mas seria isto [b:11b7541e07]BringWindowToTop(LastFound)[/b:11b7541e07] :?: :?:


GOSTEI 0
Rjun

Rjun

25/05/2005

Tente isso

SetWindowPos(Handle, Hwnd_TopMost, 0, 0, 0, 0, Swp_NoMove or Swp_NoSize);



GOSTEI 0
Macario

Macario

25/05/2005

Ola colega Rjun, agradeço a atenção, mas veja, eu ja tentei isso mas nao ´funciona´, ou seja mesmo usando essa função se for aberto o Internet explorer por exemplo, ele sobrepoe meu form (FrmAviso).

Por tanto continuo, sem alternativa


GOSTEI 0
Gandalf.nho

Gandalf.nho

25/05/2005

Por curiosidade, o que esse form deverá mostrar que exige ficar sempre a vista? Não seria melhor deixar ele minimizado e exibi-lo somente quando se tornar necessário? Afinal, ele ficando sempre na frente pode acabar sendo incômodo pro usuário.


GOSTEI 0
Sandra

Sandra

25/05/2005

Macario,

Tentou utilizar SetForegroundWindow?

Ex.:
SetForegroundWindow(NomeDoFormulário.Handle);



GOSTEI 0
Macario

Macario

25/05/2005

Macario, Tentou utilizar SetForegroundWindow? Ex.:
SetForegroundWindow(NomeDoFormulário.Handle);



Olá Sandra não fiz uso dessa função ainda, testarei amanha e lhe digo.

gandalf.nho, este form ira mostrar ao usuario uma mensagem dizendo que o sistema entrara em manutenção e quais procedimentos ele deve estar finalizando antes do tempo determinado para o ´Application.Terminate´.

Ja pensei em usar ´janelas´ tipo as do msn, mas o ´boss´ rejeitou... :roll:

É isso gente. :roll:


GOSTEI 0
POSTAR