Пытаясь использовать приложение Delphi 2010 больше пользователей в режимах с высоким разрешением DPI в Windows 7, я пытался несколько способов извлечь PixelsPerInch и сравнить с 96. Увы, независимо от того, что я пробовал, я всегда получаю 96. Мои вопросы:
- Какова наилучшая практика для получения пользовательского режима DPI?
- Является ли факт, что получаю константу 96, независимо от того, что я, что означает, что это означает, что я пропускаю что-то?
Вот что я пробовал
dpiX := Form1.PixelsPerInch
и
dpiX := Screen.PixelsPerInch
и, наконец:
D2DFactoryOptions.DebugLevel := D2D1_DEBUG_LEVEL_NONE;
pD2DFactoryOptions := @D2DFactoryOptions;
if D2D1CreateFactory(
D2D1_FACTORY_TYPE_SINGLE_THREADED,
IID_ID2D1Factory,
PD2DFactoryOptions,
D2DFactory
) <> S_OK then exit;
D2DFactory.GetDesktopDpi(dpiX, dpiY)
Угадать догадаться? что right dpiX является константой 96 в 100%, 125% и 150%
Пожалуйста, совет.