Определенно есть предпосылки ...
http://msdn.microsoft.com/en-us/library/ms838191.aspx говорит:
- В меню «Вставка» выберите «Ресурс».
- Нажмите кнопку «Пользовательский».
- Введите CEUX для типа ресурса.
- Установить данные ресурса на 01 00.
- Перейдите на вкладку «Свойства».
- Переименуйте элемент в «HI_RES_AWARE», включая кавычки. (Если кавычки опущены, HI_RES_AWARE будет неправильно определен как числовое значение в resource.h, и вам нужно будет вернуться назад и удалить строку из resource.h.)
- Снимите флажок с внешнего файла. (что бы это ни значило)
для включения разработки приложений с высоким разрешением.
Я не смог создать ресурс CEUX таким образом, но у меня все получилось после того, как я просто добавил его непосредственно в файл ресурса, например ::
HI_RES_AWARE CEUX {1} // To turn off the emulation layer
В коде приложения также должно быть введение:
AfxEnableDRA( true );
Даже после этого все приведенные выше значения GetDeviceCaps были по-прежнему равны нулю, но
int widthX = GetSystemMetrics( SM_CXFULLSCREEN );
int heightY = GetSystemMetrics( SM_CYFULLSCREEN );
int captionHeight = GetSystemMetrics( SM_CYCAPTION );
int menuHeight = GetSystemMetrics( SM_CYMENU );
int dialogFrameWidth = GetSystemMetrics( SM_CXDLGFRAME );
int dialogFrameHeight = GetSystemMetrics( SM_CYDLGFRAME );
все возвращенные значения (высокое разрешение) на устройствах VGA с разрешением PPC03se и WM5 и эмуляторах.