J'ai une application MFC avec quelques bitmaps, boîtes de dialogue et menus. Actuellement, il ne prend en charge qu'une résolution de moniteur (1280x1024). Je prévois d'y ajouter un support de résolution de moniteur différent. Pour ce faire, je suppose que je dois charger différentes bitmaps de résolution, modifier la taille de la police, etc. Ma question est, comment ceux-ci sont gérés dans une application Windows typique? Est-ce qu'ils utilisent une seule image bitmap et l'étirent/la rétrécissent en fonction de la résolution du moniteur ou ont en fait un ensemble différent de bitmaps dans la ressource et les chargent dynamiquement en fonction de la résolution? Y a-t-il une solution standard à cela?Prise en charge de différentes résolutions de moniteur
Répondre
Dans le passé, j'ai utilisé une grande image et mis à l'échelle en conséquence. S'assurer que les menus et les boîtes de dialogue sont redimensionnés est difficile, mais il existe des codes d'aide sur CodeProject qui pourraient aider.
Je dirais d'utiliser plusieurs ressources avec différentes résolutions. Même si vous pouvez redimensionner les icônes dynamiquement, elles seront probablement mieux si vous les redimensionnez dans un programme d'édition d'image approprié.
Les icônes de menu et de barre d'outils sont normalement affichées avec le même nombre de pixels, quelle que soit la résolution de l'écran. Ainsi, les menus et les barres d'outils occupent une plus petite proportion de l'écran à mesure que la résolution augmente.
Je ne pense pas qu'il existe un moyen standard de gérer différentes résolutions en ce qui concerne les bitmaps.
Je m'assurerais également que votre application fonctionne avec la mise à l'échelle DPI de Windows. Cela pourrait être une meilleure alternative lors de l'exécution sur des écrans à haute résolution plutôt que d'avoir à redessiner l'application pour répondre à une résolution spécifique.
La mise à l'échelle des images bitmap aura l'air mauvaise (les rendre plus grandes auront toujours l'air mauvaises, les rendant plus petites dépendent de la source). Si possible, voyez si vous pouvez composer votre grand bitmap de plusieurs bitmaps plus petits qui peuvent bien évoluer. Beaucoup de fois, il est assez facile de faire un bitmap qui peut bien évoluer dans une direction. Par exemple, si vous voulez faire un cadre autour de quelque chose, au lieu d'utiliser un bitmap, découpez-le comme un tableau de tic-tac-toe en 9 morceaux. les quatre pièces d'angle conservent leur taille d'origine, les pièces du haut et du bas s'étirent horizontalement, la gauche et la droite verticalement, et le centre va dans les deux sens (s'il est utilisé).
- 1. Prise en charge de DEVPATH
- 2. Prise en charge de Rijndael en Java
- 3. Prise en charge de Spring.Net pour Linq2SQL
- 4. Prise en charge de la géométrie PostGIS
- 5. Prise en charge de RTL PropertyGrid
- 6. Prise en charge de TDE PostgreSQL
- 7. Prise en charge de la bibliothèque Python
- 8. WCF et ASP.NET: Prise en charge de la prise en charge duplex utilisant AJAX
- 9. Prise en charge de Linux pour les licences click-thru
- 10. Prise en charge d'IMAP IDLE en PHP
- 11. Prise en charge de la session file_get_contents() en PHP
- 12. Prise en charge de plusieurs versions de DLL
- 13. Prise en charge de plusieurs bases de données dans Symfony
- 14. Prise en charge de la sélection de collection Django?
- 15. La prise en charge pour JspWriter
- 16. Prise en charge d'EJB2 avec Jboss 5CR2
- 17. l'interface ITransactionLocal est pas prise en charge
- 18. Prise en charge multisite pour ActionMailer
- 19. Prise en charge STL dans Ruby
- 20. Prise en charge des alias CNAME
- 21. Prise en charge JAVA pour Web sémantique
- 22. Subsonic 3 avec prise en charge d'Oracle
- 23. Prise en charge du support HTML5 Safari4
- 24. Echappement des requêtes SQL - prise en charge de différentes plates-formes de base de données dans .Net
- 25. Prise en charge de l'application Web - Site Web
- 26. Prise en charge du phonon et de l'image
- 27. Prise en charge du modèle de processeur iPhone/NEON
- 28. COM/Interop - Prise en charge de plusieurs versions
- 29. Prise en charge de plusieurs domaines dans Forms AUthentication
- 30. Prise en charge DPI et modifications de police par défaut