WedX - журнал о программировании и компьютерных науках

Меню обрезается

У меня есть проект MFC. Он поддерживает более 40 языков.

На моем ПК у меня два монитора. Это мониторы разного размера и разного разрешения.

Если я перенесу свое приложение на меньший монитор, полное языковое меню не отобразится. Я понял, что будут отображаться полосы прокрутки. Почему это не так?

Мое меню стандартное. Ничего фантастического.

Мой основной монитор имеет более высокое разрешение, и я могу видеть полное меню.

Пожалуйста, порекомендуйте.

Спасибо. Меню

04.12.2017

  • Я предполагаю, что ваша программа поддерживает dpi для каждого монитора, а не dpi? 05.12.2017
  • Я не знаю, это честный ответ. Как мне это проверить? 05.12.2017

Ответы:


1

Существуют разные способы настройки поддержки DPI. Это зависит от того, как вы установили это значение.

Нажмите "Project Properties" -> "Manifest Tools" -> "DPI Awareness"

В вашем случае это может быть "High DPI Aware", что может объяснить проблему. Измените его на "Per Monitor High DPI Aware"

введите описание изображения здесь


Или вы можете установить это значение в файле манифеста, в разделе dpiAware, в этом файле манифеста значение должно быть "True/PM" вместо "True". Файл манифеста будет называться "myapp.exe.manifest", он должен находиться в каталоге ресурсов.

<dpiAware>True/PM</dpiAware>

В вашем случае значение может быть "True", что может объяснить проблему.


Или вы можете использовать SetProcessDpiAwareness. В этом случае следует использовать значение PROCESS_PER_MONITOR_DPI_AWARE.

Также возможно, что вы используете SetProcessDPIAware! Эта функция устарела.

См. также
Создание приложения с поддержкой DPI.
Справочник по высокому разрешению

05.12.2017
  • Большое спасибо. Мои настройки были установлены на Поддержка высокого разрешения. Я настроил его на другой параметр, и меню правильно отображается на обоих мониторах. Спасибо. :) 05.12.2017
  • Новые материалы

    Объяснение документов 02: BERT
    BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..


    Для любых предложений по сайту: [email protected]