jace1975
Messages postés81Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention12 octobre 2007
-
2 avril 2006 à 17:01
jace1975
Messages postés81Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention12 octobre 2007
-
3 avril 2006 à 22:31
bonjour,
pour une de mes appli, je cherche à ce que les forms de celle-ci restent toujours au dessus de autres fenetres ouvertes dans windows.
pour cela j'ai essayer la fonction setzorder dans la procédure on paint de la forme mais cela fonctionne moyen. en effet dès que je clique sur une des forms de mon application la fonction setzorder ne semble plus fonctionner et mes fenetres sont cachées par exemple par IE. j'utilse aussi a la crétion de la form SetWindowPos(Handle ,HWND_TOPMOST,0,0,0,0, SWP_SHOWWINDOW);
jace1975
Messages postés81Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention12 octobre 20071 3 avril 2006 à 22:31
ben enfin j'ai trouvé le bon code, Manchester tu n'était pas loin, à savoir mettre dans la clause onpaint des forms créées dynamiquement (qui on la propriété formstyle:=fsStayOnTop) :
application.NormalizeAllTopMosts;
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE OR SWP_NOSIZE);
ca marche tout comme je veux.
En tout cas merci de votre aide.
Remarque 1: le gestionnaire de tâche peut écrire par dessus quand même.
Remarque 2: l'appli mange un poil plus de CPU, mais c'ets très peu quand même.
jace1975
Messages postés81Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention12 octobre 20071 2 avril 2006 à 19:47
j'ai oublié de préciser(mea culpa) que les forms de l'appli que je voudrais voir au dessus des autres ne sont pas les forms principales, ce qui fait que dans mon cas FsStayOnTop ne marche pas.
cs_ManChesTer
Messages postés374Date d'inscriptionvendredi 20 octobre 2000StatutModérateurDernière intervention15 janvier 2021 2 avril 2006 à 21:19
A tu essayer
Var TmHandle : Hwnd;
TmHandle:=GetTopWindow(GetDesktopWindow):
If TmHandle<>Handle then
SetWindowPos(Handle,TmHandle,left,top,width,height,SWP_SHOWWINDOW or SWP_FRAMECHANGED);
Bon Coding ....
ManChesTer.
Vous n’avez pas trouvé la réponse que vous recherchez ?