Page 1 sur 1
Ouvrir fenetre sans mettre en pause et toujours au premier-plan
Posté : lun. 25 avr. 2016 18:09
par simj
Bonjour,
Je poste ce message, car dans le cadre d'un programme que je réalise, je veux ouvrir une fenêtre (venant de n'importe quel logiciel), qui soit et reste toujours au premier-plan jusqu'à sa fermeture, et qui ne mette pas en pause le reste du programme.
De plus, je veux pouvoir la dimensionner et la placer ou je veux.
Ainsi, j'ai utilisé l'UDF ExtMsgBox qui m'as permis de faire à peu près tout ce que je voulais, sauf que cela mettait en pause le programme. Après recherches, je n'ai pas trouvé la solution à ce problème et c'est pourquoi je vous demande de l'aide.
Je suis plutôt un débutant dans l'utilisation d'autoit, veuillez m'excuser si la solution vous parait évidente.
Re: Ouvrir fenetre sans mettre en pause et toujours au premier-plan
Posté : lun. 25 avr. 2016 23:04
par mikell
L'udf ExtMsgbox crée une msgbox personnalisée qui fait son boulot de msgbox (mettre le script en pause dans l'attente d'une réponse) grâce à une boucle While intégrée
Ce qu'il te faut c'est une gui standard construite selon tes besoins et avec l'attribut "topmost"
ça veut dire quoi "venant de n'importe quel logiciel" ?
Re: Ouvrir fenetre sans mettre en pause et toujours au premier-plan
Posté : mar. 26 avr. 2016 09:41
par simj
Bonjour ,
Quand je dis n'importe que logiciel, je voulais simplement dire que ce n'était pas obligatoirement une fenêtre de MsgBox que je voulais ouvrir, donc la solution d'une GUi peut très bien faire mon affaire. comme je ne m'y connais pas du tout en GUI, je vais me documenter, et je répondrais à ce sujet si je nécessite votre aide.
Merci de ta réponse

Re: Ouvrir fenetre sans mettre en pause et toujours au premier-plan
Posté : sam. 21 mai 2016 01:18
par Numeric
juste une idée sur :
-GUI toujours au premier plan
-GUI contrôle dimensionnel
-(Paramètre et fonction)
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.14.2
Auteur: Numeric
Fonction du Script : Model gui en Top Mode avec fonction en parametre
Modèle de Script AutoIt.
#ce ----------------------------------------------------------------------------
_GuiPersonally(Default,Default,Default,True)
Func _GuiPersonally($GuiName = Default, $Gui_Width = Default, $Gui_Height = Default, $TopMode = False,
$Add_Func ='')
#include-once
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $Gui_Vu, $Gui_State, $Ma_Func
If $GuiName = Default Then $GuiName = 'Interface Graphique' ;Nom par defaut de ma GUI
If $Gui_Width = Default Then $Gui_Width = 650
If $Gui_Height = Default Then $Gui_Height = 650
;Option pour GUI toujours au premier plan : $TopMode
If $TopMode = False Then
$TopMode ='' ;Vu par defaut
Else
$TopMode = BitOR($WS_EX_TOPMOST,$WS_EX_WINDOWEDGE)
EndIf; End if $TopMode = False
; Application des options: Resize mode, Top Mode
$Gui_Vu = GUICreate($GuiName,$Gui_Width, $Gui_Height,-1,-1, BitOR($GUI_SS_DEFAULT_GUI, $WS_MAXIMIZEBOX, $WS_SIZEBOX,$WS_THICKFRAME,$WS_TABSTOP),$TopMode)
GUISetState(@SW_SHOW,$Gui_Vu)
;Possibilité d'ajouter une action, un controle, etc grace au parametre $Add_Func
If $Add_Func <>'' Then
If IsFunc($Add_Func) Then
Execute($Add_Func) ;Execution de la fonction utilisateur
Else
MsgBox(16,'Error','Invalid Function',3)
Return SetError(-1,-1,-1)
EndIf ;End===>If isFunc
EndIf ;End===>If $Add_Func <>''
While 2
$MyMsg = GUIGetMsg( )
Switch $MyMsg
Case $GUI_EVENT_CLOSE
ExitLoop
EndSwitch
WEnd
EndFunc;=======> _GuiPersonally