Le contraire de stickywindow()?

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Le contraire de stickywindow()?

Message par poshu »

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?
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Salut! Personnellement je n'en ai aucune idée. :cry:

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)
Anonyme2
Messages : 3518
Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans

Message par Anonyme2 »

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)
Je l'aimais bien, mais cela ne fonctionne pas correctement sous Vista, dommage, mais ça marche toujours sous XP.

A+
Denis
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Si tu veux qu'elle soit toujours au dernier plan, c'est que tu ne veux pas la voir non ? un hidewindow ne suffirait il pas ?
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Non, non, on a pas forcement de fenêtre plein écran ouverte, ni même de fenêtre ouverte tout court: je veux juste qu'elle reste en arrière plan, juste au dessus du bureau.
gnozal
Messages : 832
Inscription : mar. 07/déc./2004 17:35
Localisation : France
Contact :

Re: Le contraire de stickywindow()?

Message par gnozal »

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?
Sous Windows, il est possible d'utiliser le message #WM_WINDOWPOSCHANGING pour forcer la fenêtre à rester dans le fond.
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
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Je viens de tester, c'est parfait ^__^

Merci beaucoup, Gnozal.
Avatar de l’utilisateur
venom
Messages : 3138
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

oh oui, ce code est simpa je n'en ai pas réelement besoin mais je garde sa de coté :wink:
merci gnozal



@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

Ce GNOZAL, toujours la, toujours pres, toujours competent, en france, de l'autre coté de la mer, in the word quoi ..... :D

A cette super description, vous ajoutez beaucoup d'humilité, de sagesse, de gentillesse et vous avez la recette de GNOZMAN :wink: 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 :lol:

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 8)

Encore merci d'exister, d'etre ce que tu es, et surtout d'arriver à le rester malgré l'immensité de ton savoir 8)
Moi quand je serais grand, je voudrais etre "quinquin" comme toi 8)
Image

Signé :
Un fervent admirateur "anonyme"
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ben si ça c'est pas dla leche !! :lol: :lol:


bon merci pour ce code, il est cool :)

mais corrige tes installateurs !! :twisted:

[Reedit]
( hummm !! ) :oops: :oops: :oops: :oops: :oops:
[/Reedit]
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

ben si ça c'est pas dla leche !!
:lol: :lol:

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 :roll:
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 :D

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 :wink:
D'ailleurs, je crois que le caractere est dans le package du talent :roll:

Image

Bon comme ça plus de jaloux :lol:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tout flateur vit au dépent de celui qui l'écoute , cette leçon vaut bien un fromage, sans doute :lol: :lol:


Merci quand meme :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6989
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Message par Kwai chang caine »

De rien c'est mérité
cette leçon vaut bien un fromage
Maintenant je m'en rappelle on dit pas un fromage, on dit un DOBRO :lol:
Tu vois j'ecoute ce que tu dit :lol:
Répondre