2011-10-26 1 views
3

J'ai une application qui utilise ma propre forme de ballon. Il s'agit d'un formulaire de type fsStayOnTop non encadré.Delphi: Formulaire ballon avec fsStayOnTop ne fonctionne pas dans Win7

Je montre avec ce code:

ShowWindow(Handle, SW_SHOWNOACTIVATE); 
Visible := True; 

Aujourd'hui, je compris que si je demande alors activer une autre le ballon n'apparaît pas! Donc, c'est perdre son style.

Environnement: Win7/x64 Delphi 6 Professional

Ce que je peux faire?

Merci: dd

Répondre

4

Ce qui a fonctionné pour moi dans le passé, quand aux prises avec des formes séjour-on-top:

Form := TMyForm.Create(Self); 
Application.NormalizeTopMosts; 
SetWindowPos(Form.Handle, HWND_TOPMOST, 0, 0, 0, 0, 
      SWP_NOACTIVATE + SWP_NOMOVE + SWP_NOSIZE); 
Form.Show; 

Essayez plutôt de votre appel. ShowWindow Cela reste au-dessus de toutes les fenêtres (voulez-vous vraiment cela?). En outre, il semble plutôt bizarre, car il omet l'appel RestoreTopMosts que la documentation dit que nous devrions appeler (donc d'autres fenêtres rester-sur-dessus dans votre application sera affectée). Donc, il pourrait y avoir une meilleure solution.

Questions connexes