[R] Suivi de GUI

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Sh4dows
Status : Hors ligne

[R] Suivi de GUI

#1

Message par Sh4dows »

Salut tous le monde,
J'ai comme qui dirais un petit souci :roll:

Alors voilà, j'ai 2 GUI (Fenêtre) cote à cote, l'une se nomme GUI 1 et l'autre GUI 2 et je souhaiterais que GUI 2 suive le déplacement de GUI 1.

Or pour cela j'ai pensé a récupérer la position de GUI 1 ainsi que de GUI 2 puis suite a un calcul par rapport a la fenêtre 1 j'obtiens la position (ou devrait être la GUI 2), et donc si elle n'est pas a cette emplacement alors on la déplace.

Donc pourriez vous m'orientez vers une fonction déjà existante ou pas ?


Merci d'avance,
Modifié en dernier par Sh4dows le jeu. 22 avr. 2010 11:17, modifié 1 fois.
Sh4dows
Status : Hors ligne

Re: [..] Suivi de GUI

#2

Message par Sh4dows »

== AUTO RESOLUTION ==

Code : Tout sélectionner

Func _SUIVI_MENU()
    $POSITION = WinGetPos("GUI2")
    MsgBox(0, "Position de GUI2", "x = "&$POSITION[0]&" y = "&$POSITION[1])
EndFunc
 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Suivi de GUI

#3

Message par Tlem »

Je ne sais pas comment vous gérez le déplacement de la deuxième GUI avec cette fonction dans la boucle des messages, mais voici une autre option :
► Afficher le texte
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é".
Sh4dows
Status : Hors ligne

Re: [R] Suivi de GUI

#4

Message par Sh4dows »

Je fais la même chose !

J'utilise cette fonction :

Code : Tout sélectionner

...
While 1
    _SUIVI_MENU()
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Func _SUIVI_MENU()
    $POSITION_MENU = WinGetPos("MENU")
            ;MsgBox(0, "Position du Menu", "x = "&$POSITION_MENU[0]&" y = "&$POSITION_MENU[1])
    $POSITION_ORIGINAL_GUI = WinGetPos("ACCOUNT OF SH4DOWS                                        <CODED BY SH4DOWS>")
            ;MsgBox(0, "Position de la fenêtre principal", "x = "&$POSITION_ORIGINAL_GUI[0]&" y = "&$POSITION_ORIGINAL_GUI[1])
    $X_MENU = $POSITION_ORIGINAL_GUI[0] +471
    $Y_MENU = $POSITION_ORIGINAL_GUI[1] +533 ;533 = hauteur de la GUI1
    $Y_MENU = $Y_MENU -292 ;291 = hauteur de la GUI2
    If $POSITION_MENU[0] <> $X_MENU Or $POSITION_MENU[1] <> $Y_MENU Then
        WinMove("MENU", "", $X_MENU, $Y_MENU +5) ;+5 pour la marge d'erreur
    EndIf
EndFunc
 
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Suivi de GUI

#5

Message par Tlem »

Hummm, ouais, sauf que là, vous faites les actions en permanence et non uniquement lorsque la GUI1 est déplacée. :roll:
Sa ralenti donc la boucle et limite le script ...
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é".
Sh4dows
Status : Hors ligne

Re: [R] Suivi de GUI

#6

Message par Sh4dows »

C'est pas totalement vrai !
Je vérifie seulement la position de la fenêtre en permanence, et la déplace que si elle est différente !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Suivi de GUI

#7

Message par Tlem »

Sh4dows a écrit :Je vérifie seulement la position de la fenêtre en permanence, et la déplace que si elle est différente !
Oui, c'est bien ce que je dit ...

Vous faites ces actions en boucle et ces actions sont répétées de nombreuses fois, ce qui fait que vous consommez inutilement du temps processeur et des ressources. :P
Mais bon, après tout c'est vous qui voyez. Vous êtes libre de coder comme vous le voulez. :lol:
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é".
Sh4dows
Status : Hors ligne

Re: [R] Suivi de GUI

#8

Message par Sh4dows »

Votre fonction est appelé avec :

Code : Tout sélectionner

GUIRegisterMsg($WM_MOVE, "MY_WM_MOVE")
 
C'est bien cela ?

Certes mon code ralentit le script mais le votre ne m'offre pas l'effet attendu !
Car les 2 GUI se déplacent en même temps.

C'est trop fixe je trouve :lol:
Comme vous venez de le dire chacun est libre de coder comme bon lui semble.

Cordialement Sh4dows
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Suivi de GUI

#9

Message par Tlem »

Sh4dows a écrit :Certes mon code ralentit le script mais le votre ne m'offre pas l'effet attendu !
Car les 2 GUI se déplacent en même temps.
Ha !
N'est-ce pas ce que vous avez demandé ?
Sh4dows a écrit :Alors voilà, j'ai 2 GUI (Fenêtre) cote à cote, l'une se nomme GUI 1 et l'autre GUI 2 et je souhaiterais que GUI 2 suive le déplacement de GUI 1.
Soyez plus précis la prochaine fois. :roll:
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é".
Sh4dows
Status : Hors ligne

Re: [R] Suivi de GUI

#10

Message par Sh4dows »

Oui c'est vrai, un gros manque de précision de ma part :lol:

@Tlem a et aura toujours le dernier mot :roll:

Bon sur ce Bonne nuit !!
Cordialement Sh4dows
Répondre