Bonjour,
voila le code qui permet de connaitre les coordonnées des différents écran car depuis Vista l'écran peut se trouver au dessus, a droite a gauche au dessous et les coordonnées de l'écran non principal peuvent alors être négatives et donc pour placer une fenêtre on peut faire des moins (aie pour ceux qui planquaient les fenêtres hors écran avec des coordonnées négatives !!!!!!)
init du projet
RECt est une structure
Left est un entier //Type C : LONG
top est un entier //Type C : LONG
Right est un entier //Type C : LONG
bottom est un entier //Type C : LONG
FIN
Code du bouton pour les tests
retourFonction est un booléen =API("user32.dll", "EnumDisplayMonitors",0, 0,&CallBackEcran, 0)
Procedure appellé en callBack par EnumDisplayMonitors a mettre dans les procedure globale
PROCEDURE CallBackEcran(hMonitor est un entier système ,hdcMonito ,lprcMonitor , rdwData)
MonRec est un RECt
Transfert(&MonRec ,lprcMonitor, Dimension(MonRec))
Trace("Coordonnées : " + MonRec.left+ ", " + MonRec.Top+" , "+MonRec.right+" ," +MonRec.Bottom)
Trace("Hauteur : "+(MonRec.right-MonRec.left) + " x Largeur : "+(MonRec.bottom-MonRec.Top))
//trace("Ecran Principal : "+ ( Monit.dwFlags = 0 ? "NON" SINOn "OUI"))
Trace("--------------------------------------------------------------------------------------------")
voici le resultat chez moi avec 1 ecran
Coordonnées : 0, 0 , 1440 ,900
Hauteur : 1440 x Largeur : 900
--------------------------------------------------------------------------------------------
a voir si les coordonnées changent avec d'autre écran pour voir si on a des négatifs suivant si l'écran est a droite ou gauche, ou au dessus
l'écran 0,0 est normalement l'écran qui est principal car c'est lui qui a le bureau windows et donc les coordonnées pour left et top a 0
cordialement