В настоящее время я создаю свой первый графический интерфейс для Windows. Я использую MFC и Visual Studio 2008. Монитор, на котором я разрабатывал свою программу, имеет собственное разрешение 1680x1050. Если я скомпилирую и отправлю свою программу одному из моих коллег для запуска на своем компьютере (обычно это ноутбук с разрешением 1024x768), моя программа не поместится на их экране.
Я пытался прочитать о том, как спроектировать приложение MFC так, чтобы оно работало на всех разрешениях, но я продолжаю находить вводящую в заблуждение информацию. Везде, куда бы я ни посмотрел, кажется, что DLU должны изменить размер вашего приложения за вас, и что единственное время, когда вы должны столкнуться с проблемами, это когда у вас есть фактическое растровое изображение, разрешение которого вам нужно беспокоиться. Но если это так, почему моя программа больше не помещается на моем экране, когда я установил монитор на более низкое разрешение? Вместо того, чтобы моя программа «сжималась», занимая такое же количество экранного пространства, которое она использует в разрешении 1680x1050, она становится огромной и зернистой.
«Очевидное» решение - установить разрешение 1024x768 и изменить дизайн моей программы так, чтобы он помещался на экране. За исключением того, что я уже максимально сжал все в своих диалоговых окнах, чтобы попытаться заставить мою программу поместиться на экране с разрешением 1024x768. Мои диалоговые шрифты установлены на Microsoft Sans Serif 8, но все еще выглядят огромными (намного больше, чем 8 точек) при работе в разрешении 1024x768.
Я знаю, что должен быть способ заставить мою программу сохранять такое же масштабирование ... верно? Или это неправильный подход к проблеме? Каков правильный / стандартный способ разработки программы MFC, чтобы она могла работать во многих разрешениях, например, 800x600 и выше?