Page 1 sur 1

MouseGetPos Décalé

Posté : sam. 01 avr. 2017 19:52
par Flashneo
Bonjour,

Voilà j'aimerais faire un petit utilitaire qui m'indiquerais la position X et Y de mon curseur ainsi que la couleur du pixel survolé.
J'ai donc commencé et j'ai écris ceci :
#include <MsgBoxConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>


#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 463, 223, 443, 129)
$Console = GUICtrlCreateEdit("", 8, 16, 209, 193, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "Console")
$PosX = GUICtrlCreateLabel("Coordonné en X :", 224, 16, 87, 17)
$PosY = GUICtrlCreateLabel("Coordonné en Y :", 224, 48, 87, 17)
$ColorPixel = GUICtrlCreateLabel("Couleur du pixel :", 224, 80, 85, 17)
$InX = GUICtrlCreateInput("0", 320, 16, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InY = GUICtrlCreateInput("0", 320, 48, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY,$ES_NUMBER), $WS_EX_STATICEDGE)
$InColorPixel = GUICtrlCreateInput("ffff", 320, 80, 105, 21, BitOR($GUI_SS_DEFAULT_INPUT,$ES_CENTER,$ES_READONLY), $WS_EX_STATICEDGE)
$ColorBox = GUICtrlCreateEdit("", 224, 112, 113, 97, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_READONLY,$ES_WANTRETURN), $WS_EX_STATICEDGE)
GUICtrlSetData(-1, "")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###


While 1
   $nMsg = GUIGetMsg()
   Switch $nMsg
      Case $GUI_EVENT_CLOSE
         Exit

   EndSwitch

   Local $aPos = MouseGetPos()
   Local $iColor = PixelGetColor($aPos[0], $aPos[1])
   GUICtrlSetData($InX, $aPos[0])
   GUICtrlSetData($InY, $aPos[1])
   GUICtrlSetData($InColorPixel, Hex($icolor, 6))
   GUICtrlSetBkColor($ColorBox, $icolor)
WEnd
Mais le problème c'est que mon écran a une résolution de 1920x1080 et que quand je vais tout en bas à droite de mon écran les coordonnés affiché sont 1535 et 863... En plus de cela la couleur du pixel n'est jamais bonne et est toujours décalé.
Je viens donc vers vous pour savoir si chez vous c'est pareil, et si vous savez pourquoi ?

Merci d'avance

Re: MouseGetPos Décalé  

Posté : sam. 01 avr. 2017 20:15
par orax
Je pense que c'est lié à la taille des éléments dans Panneau de configuration\Tous les Panneaux de configuration\Affichage. La valeur par défaut est "Plus petite" (sur Windows 8.1).

Re: MouseGetPos Décalé

Posté : sam. 01 avr. 2017 20:29
par Flashneo
Merci, effectivement c'était bien ça, mon pc était sur 125% au lieu de 100%. Du coup ça me fait bizarre de tout voir en plus petit ^^
Encore merci je pense pas que j'aurais eu l'idée d'aller chercher l'erreur ici...
Je passe donc le sujet en résolu ;)