2009-11-06 4 views
0

Возможно ли установить программный DPI приложения программно или DPI можно установить только через системное предпочтение?Можно ли запрограммировать DPI приложения?

Примечание: Графический интерфейс моего приложения закодирован в форматах MFC и .NET.

Обновление: После некоторых исследований я не нашел способа сделать это, поэтому я должен согласиться с единственным ответом здесь; это невозможно.

+4

Реальный DPI зависит от устройства вывода (экран, принтер и т. Д.), Поэтому он должен быть установлен на уровне выходного драйвера. Это не делает * смысл *, чтобы установить его на основе каждого приложения. – Quentin

+0

@David На самом деле это имеет смысл. Он работает на устройстве с сенсорным экраном и делает его более удобным для контакта. Я хочу сделать все больше (с минимальными усилиями). Тем не менее, я хочу, чтобы система DPI была неповрежденной для окон и других приложений. –

+0

Нет, это не имеет смысла, DPI не является настройкой для каждого приложения или даже концепцией уровня приложения. Вам нужно будет увеличить размер всех элементов управления вручную. – Roel

ответ

1

Предполагая, что вы говорите об общесистемной настройке Windows, которая определяет соотношение между настройкой физического DPI (которая зависит от физического экрана + разрешение), простой ответ «вы не можете», по крайней мере, а не на уровне приложения в приложении WinForms.

Что вы можете сделать, добавить код масштабирования в вашу форму, см. this StackOverflow запись. В основном, установите AutoScaleMode на ScaleMode.Dpi. Дополнительную информацию см. В другой записи.

+0

Я пытаюсь добиться того же эффекта, что и для всей системы, но только для моего приложения. Другими словами, я хочу, чтобы окна автоматически масштабировали мое приложение, но я хочу, чтобы приложение предоставляло DPI. –