Comment faire pour récupérer les DPI d'un système dans une Application MFC?
J'ai déjà une application MFC qui fonctionne très bien en défaut DPI ( 96 ppp) dans Windows 7. Mais quand j'augmente la résolution de 150% l'INTERFACE utilisateur est déformé. J'ai réglé les problèmes à l'aide des barres de défilement à un certain niveau et visés à l'article msdn. Je me demande comment puis-je obtenir de l'actuel DPI d'un système à l'aide de MFC code de telle sorte que la hauteur et la largeur d'une boîte de dialogue.
S'il vous plaît suggérer!!
OriginalL'auteur Ashish Ashu | 2011-05-13
Vous devez vous connecter pour publier un commentaire.
Vous devez d'abord obtenir le contexte de périphérique pour votre écran. C'est facile, il suffit d'appeler GetDC, comme ceci:
Alors vous demander les fonctionnalités du périphérique de contexte de périphérique. Dans votre cas, vous avez besoin de l'pixels en X et l'axe Y par pouce:
(voir http://msdn.microsoft.com/en-us/library/dd144877(v=vs. 85).aspx pour plus d'informations sur GetDeviceCaps).
Enfin, relâchez le contexte de périphérique de nouveau:
OriginalL'auteur Patrick
La suite de Patrick réponse, vous pourriez lire ce Microsoft tutoriel sur la rédaction de la résolution PPP conscient de l'interface utilisateur:
http://msdn.microsoft.com/en-us/library/dd464659.aspx
OriginalL'auteur Mark Ingram
Ci-dessous l'extrait de code m'a donné la bonne DPI dans Win7
GetDeviceCaps
mais est Win7+ seulement.Non, il fonctionne aussi sur Vista SP2 avec Plate-forme de mise à Jour.
OriginalL'auteur MGR