Form na frente de tudo

Delphi

09/05/2007

Olá,

Tenho uma agenda de compromissos que fica minimizada e qdo chega a hora do compromisso ela mostra um form avisando. Como eu faço para que esse form seja mostrado na frente de todas as aplicações que estiverem abertas? Tentei colocar a propriedade formstyle como fsStayOnTop mas não adiantou.

Luiz


L_carlos

L_carlos

Curtidas 0

Respostas

Fabiano Góes

Fabiano Góes

09/05/2007

uma dica:
use este método para minimizar todos os aplicativos aberto:
procedure HideAll;
var
  Shell: OleVariant;
begin
   Shell := CreateOleObject(´Shell.Application´) ;
   Shell.MinimizeAll;
end;


antes da chamada do seu Form você primeiro minimiza todos os aplicativos abertos depois chama o seu Form, algo assim:
begin
  HideAll;
  Application.CreateForm(TSeuForm, SeuForm);
  try
    SeuForm.ShowModal;
  finally
    SeuForm.Free;
  end; 
end;  


acho que assim deve funcionar,
espero ter ajudado !!!
um grande abraço !!!


GOSTEI 0
L_carlos

L_carlos

09/05/2007

Olá Fabiano,

Eu não queria minimizar os programas abertos e sim mostrar o form sobre os programas abertos. Aí encontrei essa dica e funcionou blza, o form é mostrado na frente de todos os programas abertos.

//(LIGAR) FORM NA FRENTE DE TUDO
SetWindowPos(Form3.handle, HWND_TOPMOST, Form3.Left, Form3.Top,Form3.Width, Form3.Height, 0);

//(DESLIGAR) FORM NA FRENTE DE TUDO
SetWindowPos(Form3.handle, HWND_NOTOPMOST, Form3.Left, Form3.Top,Form3.Width, Form3.Height, 0);

Luiz


GOSTEI 0
Fabiano Góes

Fabiano Góes

09/05/2007

Opa, beleza então.
o importante é que conseguiu a solução,
vou até guardar esse código também :lol:

um abraço !!!


GOSTEI 0
POSTAR