Page 1 sur 1
[Func] _GUIMOUSEMOVE()
Posté : mar. 10 nov. 2009 12:53
par roselito13
_GUIMOUSEMOVE()
[blink]A quoi sa sert ?[/blink]
Cette Fonction sert a crée une Zone transparente, sur un GUI et part cliquer glisser sur cette zone on pourra déplacer la fenêtre sur son écran.
Cette Fonction sera très utile au GUI avec style et sans la barre de Windows permettent de la déplacer.
Il suffit de glisser cette fonction dans la boucle ou la sélection des bouton se fait et voila le tour et jouer.
[blink]La Fonction[/blink]
-Fonction :
► Afficher le texte
Code : Tout sélectionner
Func _GUIMOUSEMOVE($WINHANDLE_GUI, $FIRST_X , $LAST_X, $FIRST_Y, $LAST_Y, $RETURN_OPT = 1)
If _IsPressed("01") Then
Opt("MouseCoordMode", 0)
$POS_X_INI = MouseGetPos(0)
$POS_Y_INI = MouseGetPos(1)
If ($POS_X_INI > $FIRST_X) And ($POS_X_INI < $LAST_X) Then
If ($POS_Y_INI > $FIRST_Y) And ($POS_Y_INI < $LAST_Y) Then
Opt("MouseCoordMode", 1)
While _IsPressed("01") = 1
$POS= MouseGetPos()
WinMove($WINHANDLE_GUI, "", $POS[0] - $POS_X_INI, $POS[1] - $POS_Y_INI)
WEnd
EndIf
EndIf
Opt("MouseCoordMode", $RETURN_OPT)
EndIf
EndFunc
-L'utiliser :
Code : Tout sélectionner
_GUIMOUSEMOVE($WINHANDLE_GUI, $FIRST_X , $LAST_X, $FIRST_Y, $LAST_Y, $RETURN_OPT = 1)
[/b]
*$WINHANDLE_GUI = Winhandle de la GUI soit la variable contenant la GUI
*$FIRST_X = Position sur la GUI du début de la zone de sélection sur X
*$LAST_X = Position sur la GUI de la fin de la zone de sélection sur X
*$FIRST_Y = Position sur la GUI du début de la zone de sélection sur Y
*$LAST_Y = Position sur la GUI de la fin de la zone de sélection sur Y
*$RETURN_OPT = La fonction utilise des Opt("MouseCoordMode", 0) si vous utiliser des MouseGetPos() y entré la dernière Option exécuter dans la fonction (PAR DEFAUT =1)
-Exemple D'appel:
- Exemple d'utilisation :
► Afficher le texte
Voici la GUI
Code : Tout sélectionner
$GUI_MAIN = GUICreate("RF", 359, 195, -1, -1, BitOR($WS_SYSMENU, $WS_POPUP))
Screen :
Mais une fenêtre comme sa tu peu pas la déplacer.
Donc j'ai crée cette fonction pour que quand tu clique sur la barre en haut, où il y'as la croix etc... tu puise la déplacer sur ton écran.
en rentrant les coordonner de la barre a savoir :
x : 0->339
Y : 0->20
Et voila !
J'ai mit 339 et pas 359 car je compte pas la croix !
Puis ma boucle :
Code : Tout sélectionner
While 1
$msg = GUIGetMsg()
Select
Case $msg = $Label_Exit_Main
Exit
Case $msg = $ADD
ADD()
Case $msg = $EDIT
EDIT()
Case $msg = $LANCER
LANCER()
EndSelect
_GUIMOUSEMOVE($GUI_MAIN, 0, 339, 0, 20)
WEnd
NÉCESSITE UN #INCLUDE <Misc.au3> !
Voila posé vos avis

Re: [Func] _GUIMOUSEMOVE()
Posté : mar. 10 nov. 2009 13:26
par Habibsbib
Escuse moi, mais j'ai vraiment pas compris ce que fait ton script CONCRETEMENT. Tu pourrais poster un screen, stp ? Autrement le code est très bien indexé, bien joué !
Re: [Func] _GUIMOUSEMOVE()
Posté : mar. 10 nov. 2009 14:10
par roselito13
J'ai Edit le PREMIER POST, avec un EXEMPLE concert.
Re: [Func] _GUIMOUSEMOVE()
Posté : mar. 10 nov. 2009 15:32
par Habibsbib
Merci. Effectivement, c'est pas mal comme fonction.
Re: [Func] _GUIMOUSEMOVE()
Posté : mer. 11 nov. 2009 10:18
par Tlem
@roselito13
Votre fonction ne correspond pas à la description que vous en faites car elle ne crée aucune zone transparente.
De plus, sans vouloir critiquer votre travail, je ne comprend pas pourquoi vous utilisez ce mode 'déplacement' d'une GUI.
Si vous regardez dans les exemples de transparence de
ce sujet, vous verrez que le dossier
lod3n_launcher contient un exemple tel que vous l'avez décrit.
Au mieux, votre fonction peut être considérée comme une fonction de déplacement d'une GUI transparente simple ($WS_EX_LAYERED).
Re: [Func] _GUIMOUSEMOVE()
Posté : mer. 11 nov. 2009 11:22
par roselito13
Ok, Bon j'aurais essayer de faire un script nouveaux

Re: [Func] _GUIMOUSEMOVE()
Posté : lun. 18 oct. 2010 21:58
par Olive89
Trop cool ta fonction, je me prends la tête depuis quelques temps avec ça tout ce que je trouvais était incompréhensible pour le débutant que je suis, merci beaucoup!!!! délivrance

!!!!!!!!