Page 1 sur 1

[R] Changer le point 0,0 de place ... ou variante

Posté : dim. 26 oct. 2008 15:33
par Zahnzao
Bonjour, je m'explique ...

Est il possible par un moyen quelconque de simuler un point 0,0 à un autre endroit que le coin superieur gauche de l'ecran ?

Par exemple, mon point 0,0 serai en plein milieu de l'écran, ce qui donnerai des coordonnés négative pour toute la partie supérieure gauche de l'écran.

J'ai cherché du coté de AutoitSetOption et de CoordMode mais la documentation n'es pas traduite au complet, je me débrouille un peu en anglais mais la je suis perdu ...

Merci d'avance.

Re: Changer le point 0,0 de place ... ou variante

Posté : dim. 26 oct. 2008 16:14
par TomXIII
Je pense que je peux t'aider:

Code : Tout sélectionner

$WinVars = WinGetPos("TitreDeLaFenetreConcernee")   ;WinGetPos sert a obtenir les coordonnees et la taille de la fenetre
$WinWidth = $WinVars[2]                             ;Stock la largeur de ta fenetre dans la variable WinWidth
$WinHeight = $WinVars[3]                            ;Stock la hauteur de ta fenetre dans la variable WinHeight
$OrgX = $WinWidth/2                                 ;Crée ton origine en X
$OrgY = $WinHeight/2                                ;Crée ton origine en Y
Ensuite pour tes coordonnées, tu n'aura qu'à marquer les variables OrgX et OrgY suivie des position que tu veux.
Par exemple:
- Pour un point de coordonnées -10 en X et -50 en Y par rapport au centre de la fenêtre, tu inscrira $OrgX-10 et $OrgY-50
- Pour un point de coordonnées 100 en X et 30 en Y par rapport au centre de la fenêtre, tu inscrira $OrgX+100 et $OrgY+30

Je pense que j'ai répondu à ta question.

Re: [..] Changer le point 0,0 de place ... ou variante

Posté : dim. 26 oct. 2008 22:21
par Tlem
Pour mon information, puis-je connaitre la raison d'une telle demande ?

Re: [..] Changer le point 0,0 de place ... ou variante

Posté : lun. 27 oct. 2008 00:54
par Zahnzao
Le centre de l'écran n'était qu'un exemple, j'aimerai réaliser ceci a partir de n'importe quel point donné. Donc l'utilisateur sélectionne un premier point d'origine, ensuite lorsqu'il bouge la souris, la position relative du curseur par rapport au point d'origine lui est donnée en temps réel.

Le but premier de ce script est de créer un outil qui permettrai (tout comme Autoit Window Info) de fournir la position de la souris mais par rapport a un point d'origine donné, donc en gros de fournir les position relative des points et non la position absolue sur l'écran ou la fenetre.

Edit: En fait c'est tout con .... c'est en me relisant que la solution m'a sautée aux yeux, il suffit de soustraire les coordonnées 1 et 2 pour obtenir la position relative entre les 2 points ... Je vais essayer et je vous dit ce que j'en ressors.

Edit2: Mon dieu, c'était tellement simple que je me demande comment j'ai pu poser cette question ... Argument en ma faveur: je n'ai pas dormi la nuit passée ><

Bref je met mon petit script au cas ou ca pourrai aider ...

Code : Tout sélectionner

TrayTip("Position Relative", "Placez le curseur sur le point d'origine et pressez F5",30)
While 1
    If _IsPressed("74") Then
        $origine = MouseGetPos()
        ExitLoop
    EndIf
Wend
While 1
    $nouveauPoint = MouseGetPos()
    $posX = $nouveauPoint[0] - $origine[0]
    $posY = $nouveauPoint[1] - $origine[1]
    ToolTip($posX & ", " & $posY)
Wend
Merci tout de même de votre aide.