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