Member 11072126 Ответов: 3

Как реализовать автомасштабирование с помощью кода MFC


Всем Привет,

Я новичок в MFC и участвую в исправлении ошибок в приложении MFC на C++.
Я столкнулся с одной проблемой при решении ошибки, и это объясняется ниже:

Существует сетка с 3 столбцами, и все 3 столбца видны, когда я запускаю приложение в ноутбуке. Но, когда я пытаюсь запустить приложение на рабочем столе, третий столбец не виден, и он скрывается внутри сетки.

Это верный случай автоматического масштабирования.

Что я уже пробовал:

Я провел некоторое исследование в интернете и попытался добавить свойство .NET "ApplyAutoScaling". Но это не работает.

3 Ответов

Рейтинг:
1

CPallini

Масштабирование-это хорошее упражнение в программировании, и это не сложная задача. Вам нужно просто найти правильный графический API и выполнить некоторые умножения.


Рейтинг:
0

John R. Shaw

Я думаю, что MFC реализовала что-то подобное в VS 2015. Выполните веб-поиск в динамическом диалоговом окне MFC. Имейте в виду, что они отстают от этой концепции примерно на 25 лет, но лучше поздно, чем никогда.

Одно время я использовал CODE::BLOCKS для кросс-платформенной разработки (интерфейса), и эта идея была встроена. Ну, вам пришлось добавить элемент управления регионом в диалог, но я думаю, что MFC подошел к той же идее.

Прежде чем я узнал, что Windows вышла, я создал библиотеку окон, которая делала это автоматически, независимо от графического режима (графика, текст или разрешение).

1. Посмотрите, если кто-то уже сделал это.
2. Если нет, сделайте это сами.


Member 11072126

Спасибо.

Рейтинг:
0

Michael Haephrati

Вы должны изменить настройки, чтобы не было разницы, когда программа работает на разных машинах.
Перейдите на страницу свойств проекта, затем в инструмент манифест, а затем ввод и вывод. Измените осведомленность DPI на "нет"