Bonjour, je code actuellement un logiciel en 3D avec évidemment une interface 2D, j'utilise la SDL mais quand je récupère les coordonnées de la souris il y a un décalage qui vient du fait que windows zoom automatiquement sur les applications :
en plus comme le zoom 125% est par défaut je ne peux pas l'ignorer donc je me demandais si il était possible de supprimer ce zoom pour mon application ou si il était possible de le connaitre pour adapter mon application à ces zooms qui me compliquent bien la vie
J'eu eu ce problème dans un de mes programmes, je l'avais solutionné de la manière suivante, MAIS je ne suis pas sur que ce soit la bonne manière de faire (win7 intégral). Je dois bien avouer que c'est un peu du style "patch vite fait".
Quel est le passage qui te pose problème ? Et as-tu essayé ?
La fonction renvoie le ratio à appliquer pour avoir un affichage correct (1.0 si le zoom est de 100% (96 dans la base de registre)). Tout le reste du programme pour les affichages se base sur les valeurs w et h de la fenêtre principale --- ce qui devrait être le cas dans tous les programmes.
- Edité par edgarjacobs 5 août 2020 à 18:14:06
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Je vois je comprends et c'est super comme méthode c'est exactement ce qu'il me fallait juste si tu pouvais m'expliquer d'où viennent les fonctions Reg ?
Testé. Et je ne comprends pas. Quelle que soit la valeur du zoom (changé via panneau configuration -> apparence et personnalisation -> affichage et après fermeture / ré-ouveture de session), cela affiche toujours 96, pour zoom 100pc, 125pc (edit: pas testé) ou 150 pc. Programme exécuté sous cmd.exe.
Exécuté avec zoom 100pc, donne 96 96 96, exécuté avec zoom 150pc, donne 96 96 144
Peut-on supposer que GetDeviceCaps() retourne la capacité réelle du terminal testé (ce qui en soit parait logique pour une imprimante), et que c'est windows qui se débrouille pour une sortie écran ?
- Edité par edgarjacobs 13 août 2020 à 13:40:45
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
J'ai retesté ce matin, à 150% je trouve comme toi ( 96 96 144 ), mais à 125% je trouve les trois à 120 (120 120 120).
edgarjacobs a écrit:
Peut-on supposer que GetDeviceCaps() retourne la capacité réelle du terminal testé (ce qui en soit parait logique pour une imprimante), et que c'est windows qui se débrouille pour une sortie écran ?
C'est ce que je pensais aussi, C'est mon test qui m'a mis le doute,
Edit : Peut-être une explication, C'est que de 100% à 125% je ne change pas de résolution écran (1920x1080), mais à 150% je change de résolution écran (1280x720).
Oui, je trouve aussi les 3 à 120 pour 125pc. Et la résolution passe également à 1280x720 pour 150pc.
Edit: à mon avis, c'est donc le AppliedDPI qui est à prendre en compte pour modifier l'affichage et le programme doit tenir compte de la taille de la fenêtre ouverte pour tous les autres affichage.
- Edité par edgarjacobs 13 août 2020 à 19:48:05
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Merci pour vos réponse, j'ai eu plus qu'il ne m'en fallait !
Zoom auto windows
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent