Page 1 sur 1
[R] Fenetre auto-sortante ... possible or not possible ?
Posté : mer. 22 févr. 2012 13:05
par Gnifrus
Bonjour,
Petite question aux expert d'AutoIt.
Est-il possible, de faire sortir une fenêtre B d'une fenêtre A, en la "glissant" sur la droite, comme un tiroir, puis la refermer en la faisant de nouveau glisser sur la gauche afin qu'elle disparaisse sous la fenêtre A ?
Je suis clair, là ?
Merci d'avance...
Bonne réflexion...
Gnifrus.
Re: [..] Fenetre auto-sortante ... possible or not possible
Posté : mer. 22 févr. 2012 13:33
par Gnifrus
Comme je continue de chercher de mon côté, j'ai peut-être trouvé une piste avec la fonction WinMove...
Je creuse et je reviens vers vous....
Gnifrus
Re: [..] Fenetre auto-sortante ... possible or not possible
Posté : mer. 22 févr. 2012 14:31
par Gnifrus
Bon, ça y est, j'ai trouvé ce que je voulais faire, à la différence près que le bouton OK sera cliqué alors qu'un autre processus tournera déjà...donc du multithreading, mais là, je n'ai pas encore recherché sur le forum alors je cloture mon topic, pour l'instant, pour ne pas passer pour un gros fainéant !
Je mets tout de même mon code dessous, ça peut (peut-être) servir à quelqu'un d'autre....
► Afficher le texte
Code : Tout sélectionner
#include <WinAPI.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>
Opt("GUICloseOnESC", 0)
#Region ### START Koda GUI section ### Form=
Global $logs_GUI_Form = GUICreate("logs_GUI", 300, 400, 0, 10, 0, 0)
Global $Edit1 = GUICtrlCreateEdit("", 0, 0, 300, 400, 0, 0)
GUICtrlSetData(-1, "Edit1")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
#Region ### START Koda GUI section ### Form=
Global $main_GUI = GUICreate("main_GUI", 300, 400, 0, 0)
Global $Button1 = GUICtrlCreateButton("Button1", 200, 350, 89, 41)
GUICtrlSetOnEvent(-1, "Button1Click")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1Click()
Case Else
EndSwitch
WEnd
Func Button1Click()
Sleep(1000)
WinMove($logs_GUI_Form,"",300,10,300,400,10)
EndFunc
Re: [R] Fenetre auto-sortante ... possible or not possible ?
Posté : mer. 22 févr. 2012 22:35
par mikell
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $logs_GUI_Form, $out = 0
Global $main_GUI = GUICreate("main_GUI", 200, 200, 400, 200, -1, $WS_EX_TOPMOST)
Global $Button1 = GUICtrlCreateButton("Sortir", 100, 150, 89, 41)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Button1Click()
EndSwitch
WEnd
Func Button1Click()
If $out = 0 Then
$logs_GUI_Form = GUICreate("logs_GUI", 400, 100, 210, 50, $WS_POPUPWINDOW, BitOR($WS_EX_TOOLWINDOW, $WS_EX_CLIENTEDGE, $WS_EX_MDICHILD), $main_GUI)
GUICtrlCreateLabel("", 10, 10, 380, 80)
GUICtrlSetBkColor(-1, 0x0000aa)
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $logs_GUI_Form, "int", 500, "long", 0x00040001)
GUISetState(@SW_SHOWNOACTIVATE)
$out = 1
GuiCtrlSetData($Button1, "Rentrer")
Else
DllCall("user32.dll", "int", "AnimateWindow", "hwnd", $logs_GUI_Form, "int", 800, "long", 0x00050002)
GuiDelete($logs_GUI_Form)
$out = 0
GuiCtrlSetData($Button1, "Sortir")
EndIf
EndFunc

Re: [R] Fenetre auto-sortante ... possible or not possible ?
Posté : jeu. 23 févr. 2012 08:16
par Tlem
CSnippet propose un code correspondant à la demande.
Lancez Scite4AutoIt placez y du code AutoIt puis faites le raccourci CTRL + ALT + S. Jouez avec en plaçant du code dans le presse papier.
Vous trouverez le code de l'animation de la fenêtre dans la fonction
_ShowPreview() du fichier
C:\Program Files\AutoIt3\SciTE\cSnippet\CSnippet.au3 et le code de la fonction
_WinAnimate() dans le fichier
C:\Program Files\AutoIt3\SciTE\cSnippet\includes\WinAnimate.au3.
Amusez vous bien.

Re: [R] Fenetre auto-sortante ... possible or not possible ?
Posté : jeu. 23 févr. 2012 08:31
par mikell
Hoho, je crois que je vais le télécharger ce Scite4AutoIt, là je n'ai que la version lightissime fournie avec l'install d'autoit

Re: [R] Fenetre auto-sortante ... possible or not possible ?
Posté : jeu. 23 févr. 2012 08:42
par Tlem
Scite4AutoIt propose une telle quantité d'améliorations et d'outils, que je trouve dommage de ne pas l'installer à la base (d’où le pack FR). Le fichier d'installation fait moins de 5Mo et rajoute environs 10Mo à l'installation de base d'AutoIt. Mais en contre partie, le nombre d'outils d'aide est conséquent et devrait par la même être indispensable (sauf pour celui qui code avec le bloc-notes et qui connait AutoIt sur le bout des doigts)

.
Re: [R] Fenetre auto-sortante ... possible or not possible ?
Posté : mar. 28 févr. 2012 16:07
par Gnifrus
Un grand merci, tout spécialement à mikell, qui m'a donné un exemple "clés en main" pour faire ce que je voulais !
J'ai en effet essayé de décortiquer le code du snippet et Animate....mais en vain...c'est beaucoup trop long et trop de variables entrent en action !
Je ne suis pas à un assez bon niveau pour comprendre ce code !
Par contre, pour l'exemple, ça va impecc !
Merci encore à tous pour vos réactions qui m'ont permis de progresser !!!
@bientôt,
Gnifrus.