[R] GUIRegisterMsg, pas tout compris :(

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

[R] GUIRegisterMsg, pas tout compris :(

#1

Message par sozary »

Bonsoir!
Tout est dans le titre...
Récemment j'ai du avoir recours à cette fonction pour déplacer une fenêtre pop-up en même temps que son parent de façon efficace, seulement voilà, j'ai eu cette ligne de code :

Code : Tout sélectionner

GUIRegisterMsg($WM_MOVE, 'WM_MOVE')
et la fonction qui va avec

Code : Tout sélectionner

[spoiler=]Func WM_MOVE($hWnd, $iMsg, $wParam, $lParam)
    Switch $hWnd
        Case $hwnd

            Local $posfen = WinGetPos($hwnd)
            $posfen=WinGetPos($hwnd)
            WinMove("tchat","",$posfen[0]-284,$posfen[1]+508)
        EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_MOVE[/spoiler]
Seulement je n'ai toujours pas compris comment cette fonction fonctionnait... (Et ce en dépit de l'aide AutoIt).. Pourriez vous si possible m'expliquer son utilité ou me rediriger vers un lien le faisant svp?

Merci d'avance! :mrgreen:
Modifié en dernier par sozary le mer. 25 févr. 2015 11:23, modifié 1 fois.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] GUIRegisterMsg, pas tout compris :(

#2

Message par jguinch »

Le problème est que cette fonction est plutôt compliquée à comprendre...
Je peux juste te donner un lien sur le Wiki US : https://www.autoitscript.com/wiki/Tutor ... egisterMsg

Sinon, un topic similaire à ce que tu veux faire : https://www.autoitscript.fr/forum/viewt ... 817#p86817
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] GUIRegisterMsg, pas tout compris :(

#3

Message par mikell »

Il est très bien fait ce tutorial du wiki
On peut juste ajouter que GUIRegisterMsg est prioritaire sur les modes onevent et messageloop, je m'étais fait jadis un petit exemple pour visualiser ça
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [..] GUIRegisterMsg, pas tout compris :(

#4

Message par sozary »

Merci! Je vais me pencher vers les documents que tu m'as envoyé jguinch!
Merci à mikell aussi, j'essayerais de comprendre les fonctions " _WM_COMMAND" et "_WM_SYSCOMMAND" après avoir lu le tuto quand même, parce que à première vu je comprend pas trop :mrgreen: !
Merci encore ♪!
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2125
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [R] GUIRegisterMsg, pas tout compris :(

#5

Message par TommyDDR »

En gros, windows gère ses fenêtres avec des évenements "clic dans une fenêtre", "redessiner la fenêtre", "déplacement de la fenêtre", etc etc.

GUIRegisterMsg permet d'associer une fonction perso à un ou plusieurs de ces évenements, ainsi, en faisant un GUIRegisterMsg de $WM_MOVE, votre fonction sera appellé à chaque déplacement de votre fenêtre.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] GUIRegisterMsg, pas tout compris :(

#6

Message par Tlem »

Bonsoir.
Le tutoriel du Wiki US va être disponible prochainement sur le Wiki Français à cette adresse : http://www.autoitscript.fr/wiki/GUIRegisterMsg
Le temps que Patrick22 y copie le texte traduit. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
sozary
Niveau 6
Niveau 6
Messages : 274
Enregistré le : lun. 20 janv. 2014 19:17
Status : Hors ligne

Re: [R] GUIRegisterMsg, pas tout compris :(

#7

Message par sozary »

Bonjour.
Merci pour ce tutoriel, il est simple et clair.
"Là où la volonté est grande, les difficultés diminuent.", Niccolò Machiavelli
Répondre