Page 1 sur 1
[R] GUI - Top most
Posté : mar. 24 avr. 2012 18:01
par DimVar
Shame on me, mais pas moyen de figer une fenetre au dessus des autres...
[EDIT] au cours du script et non à la creation.
J'avais pensé à ca entre autre.
Bien le Bonjour.
Re: [..] GUI - Top most
Posté : mar. 24 avr. 2012 18:23
par Uranium
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 615, 440, 192, 124, -1,$WS_EX_TOPMOST)
GUISetState()
Sleep(10000)

Re: [..] GUI - Top most
Posté : mar. 24 avr. 2012 18:26
par DimVar
Merci, mais je souhaite modifier le statut au cours du script, pas à la creation de la GUI.
Re: [..] GUI - Top most
Posté : mar. 24 avr. 2012 18:44
par Uranium
Pardon
Alors ?
Re: [..] GUI - Top most
Posté : mar. 24 avr. 2012 19:42
par DimVar
Pas de pardon quand on a pas commis d'erreur
Les fonctions win agissent certes sur les fenêtres, mais il me semble que cette fonction mets temporairement une fenêtre au 1er plan. (a tester)
Merci à vous.
Re: [..] GUI - Top most
Posté : mar. 24 avr. 2012 21:54
par mikell
Code : Tout sélectionner
Func _WinAPI_SetWindowPos($hWnd, $hAfter, $iX, $iY, $iCX, $iCY, $iFlags)
; Z order
; $HWND_BOTTOM = 1 ; Places the window at the bottom of the Z order
; $HWND_NOTOPMOST = -2 ; Places the window above all non-topmost windows
; $HWND_TOP = 0 ; Places the window at the top of the Z order
; $HWND_TOPMOST = -1 ; Places the window above all non-topmost windows
Local $aResult = DllCall("user32.dll", "bool", "SetWindowPos", "hwnd", $hWnd, _
"hwnd", $hAfter, "int", $iX, "int", $iY, "int", $iCX, "int", $iCY, "uint", $iFlags)
If @error Then Return SetError(@error, @extended, False)
Return $aResult[0]
EndFunc ;==>_WinAPI_SetWindowPos
exemple :
Code : Tout sélectionner
_WinAPI_SetWindowPos($mainGui, -1, -1, -1, -1, -1, BitOR(0x0001, 0x0002)) ; $SWP_NOSIZE, $SWP_NOMOVE
Re: [..] GUI - Top most
Posté : mer. 25 avr. 2012 10:03
par DimVar
Merci Mikell, on ne peut donc modifier l'etat de la GUI avec GUISetStyle au cours d'un script ?
Re: [..] GUI - Top most
Posté : mer. 25 avr. 2012 11:30
par TommyDDR
DimVar a écrit :Les fonctions win agissent certes sur les fenêtres, mais il me semble que cette fonction mets temporairement une fenêtre au 1er plan. (a tester)
temporairement -> jusqu'à ce qu'une autre fenêtre soit mise au premier plan (comme toutes les autre fonctions qui mettront au premier plan une fenêtre)
Re: [..] GUI - Top most
Posté : mer. 25 avr. 2012 11:41
par DimVar
C'est ce que je voulais dire par "temporairement"

Re: [..] GUI - Top most
Posté : mer. 25 avr. 2012 13:32
par mikell
Moui, conserver une fenêtre en topmost de manière permanente veut dire surveiller son z-order dans une boucle while, ya plusieurs moyens de le faire mais ça freine rudement le script

Re: [..] GUI - Top most
Posté : mer. 25 avr. 2012 16:13
par TommyDDR
Sans scan en boucle c'est tout simplement impossible de faire cela, en effet, imaginons que cela existe "WinSetOnTopTop" Que se passerait-il si vous utilisiez la fonction dans 2 script ?
Votre 1ere fenêtre passerait alors 2eme
Tout comme le fait déjà WinSetOnTop.
De base windows ne possède pas beaucoup de fenêtre en TOP.
À part de task manager, vous ne devriez pas être embêté, et encore... passer devant le task manager peut être considéré comme malsain...
Re: [..] GUI - Top most
Posté : jeu. 26 avr. 2012 09:45
par DimVar
Effectivement !
J'ai eu mon explication et mes solutions, merci à vous.
Je clos.
Cdlt.