Le contraire de stickywindow()?
Le contraire de stickywindow()?
StickyWindow() permet d'avoir une fenêtre toujours au premier plan, même si cette dernière n'a pas le focus... Existerait il une fonction de l'api qui oblige la fenêtre à être toujours au dernier plan, même si cette dernière a le focus?
Salut! Personnellement je n'en ai aucune idée.
Mais si j'avais eu le même besoin, j'aurais bidouillé un code diffusé par LSI.
(Petite parenthèse:
Par coîncidence, je suis tombé sur un autre postde sa part qui n'a rien à voir mais que je trouve bien)

Mais si j'avais eu le même besoin, j'aurais bidouillé un code diffusé par LSI.
(Petite parenthèse:
Par coîncidence, je suis tombé sur un autre postde sa part qui n'a rien à voir mais que je trouve bien)
Je l'aimais bien, mais cela ne fonctionne pas correctement sous Vista, dommage, mais ça marche toujours sous XP.Ollivier a écrit : (Petite parenthèse:
Par coîncidence, je suis tombé sur un autre postde sa part qui n'a rien à voir mais que je trouve bien)
A+
Denis
Re: Le contraire de stickywindow()?
Sous Windows, il est possible d'utiliser le message #WM_WINDOWPOSCHANGING pour forcer la fenêtre à rester dans le fond.poshu a écrit :StickyWindow() permet d'avoir une fenêtre toujours au premier plan, même si cette dernière n'a pas le focus... Existerait il une fonction de l'api qui oblige la fenêtre à être toujours au dernier plan, même si cette dernière a le focus?
Un petit bricolage vite fait :
Code : Tout sélectionner
Enumeration
#Window_0
#Window_1
EndEnumeration
Procedure OpenWindow_Window_0()
If OpenWindow(#Window_0, 450, 200, 400, 400, "Normal", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
EndIf
EndProcedure
Procedure Callback(WindowID, message, wParam, lParam)
Protected *WindowPos.WINDOWPOS
Result = #PB_ProcessPureBasicEvents
;
If message = #WM_WINDOWPOSCHANGING ; la position de la fenêtre va changer !
*WindowPos = lParam
*WindowPos\hwndInsertAfter = #HWND_BOTTOM ; <-- on force la fenêtre à rester dans le fond
EndIf
;
ProcedureReturn Result
EndProcedure
Procedure OpenWindow_Window_1()
If OpenWindow(#Window_1, 450, 200, 400, 400, "Reste dans le fond même si a le focus", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar)
EndIf
EndProcedure
OpenWindow_Window_0()
OpenWindow_Window_1()
SetWindowCallback(@Callback(), #Window_1)
SetWindowPos_(WindowID(#Window_1), #HWND_BOTTOM, 0, 0, 0, 0, #SWP_NOMOVE | #SWP_NOSIZE) ; <-- on change le Z-order de la fenêtre la 1ère fois (ensuite, c'est le callback qui prend la relève)
Repeat
Event = WaitWindowEvent()
Select Event
Case #PB_Event_CloseWindow
Break
EndSelect
ForEver
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
Ce GNOZAL, toujours la, toujours pres, toujours competent, en france, de l'autre coté de la mer, in the word quoi .....
A cette super description, vous ajoutez beaucoup d'humilité, de sagesse, de gentillesse et vous avez la recette de GNOZMAN
le defenseur des pauvres ignares comme moi et aussi des plus forts.
Et cerise sur le kebab....y parle un anglais avec tous les mots de la langue française, donc je comprend tout ce qu'il dit sur ce forum
Son avatar c'est un peu comme l'etoile du berger, il est joli, il brille sur tous les forums pour m'indiquer la bonne direction. quand je le vois, je sais que je c'est la route à suivre.
On pourrait l'appeller aussi robin des GNOZ, car il sait defendre le petit contre tous ces vilains problemes que nous pose l'informatique.
Je suis désolé pour ton coté humble qui doit en prendre un coup, mais tu mérites, comme certains autres d'ailleurs, de temps en temps une petite statue à ta gloire
Encore merci d'exister, d'etre ce que tu es, et surtout d'arriver à le rester malgré l'immensité de ton savoir
Moi quand je serais grand, je voudrais etre "quinquin" comme toi

Signé :
Un fervent admirateur "anonyme"

A cette super description, vous ajoutez beaucoup d'humilité, de sagesse, de gentillesse et vous avez la recette de GNOZMAN

Et cerise sur le kebab....y parle un anglais avec tous les mots de la langue française, donc je comprend tout ce qu'il dit sur ce forum

Son avatar c'est un peu comme l'etoile du berger, il est joli, il brille sur tous les forums pour m'indiquer la bonne direction. quand je le vois, je sais que je c'est la route à suivre.
On pourrait l'appeller aussi robin des GNOZ, car il sait defendre le petit contre tous ces vilains problemes que nous pose l'informatique.
Je suis désolé pour ton coté humble qui doit en prendre un coup, mais tu mérites, comme certains autres d'ailleurs, de temps en temps une petite statue à ta gloire

Encore merci d'exister, d'etre ce que tu es, et surtout d'arriver à le rester malgré l'immensité de ton savoir

Moi quand je serais grand, je voudrais etre "quinquin" comme toi


Signé :
Un fervent admirateur "anonyme"
- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere
ben si ça c'est pas dla leche !!


Y'a rien a faire des qu'on fait des compliments, c'est qu'on veux quelque chose , hein !!!!
Et bah non, moi je donne des compliments à ceux qui à mes yeux le méritent, et y'en a beaucoup

Déjà que vous gagnez pas une tune à nous aider, alors la moindre des choses, c'est au moins la reconnaissance, si ce n'est la gloire

Soit pas jaloux DOBRO, toi aussi je t'aime beaucoup, et surtout t'admire pour les splendides oeuvres d'arts que tu as la générosité de partager avec nous. Que ce soit pour nos yeux ou nos oreilles, ton travail est tres souvent synonyme de plaisir, et de ça je te remercie aussi.
Bien sur ton travail dans ce forum, n'est pas non plus à sous estimer.
Tes connaissances dans de divers domaines, tes dons, font aussi de toi un etre exceptionnel, caracteriel, mais exceptionnel

D'ailleurs, je crois que le caractere est dans le package du talent


Bon comme ça plus de jaloux

- Kwai chang caine
- Messages : 6989
- Inscription : sam. 23/sept./2006 18:32
- Localisation : Isere