Различают панорамирование и нормальные режимы экрана в коде - Windows
Я пишу полноэкранную 3D-игру и создал меню, в котором пользователь может выбрать разрешение экрана, соответствующее его аппаратным возможностям.
Я перечисляю все доступные режимы экрана с EnumDisplaySettingsExA
как это:
std::vector<DEVMODEA> modes;
DEVMODEA modeInfo;
int modeNum = -1;
while (EnumDisplaySettingsExA(0, ++modeNum, &modeInfo, 0)) {
if (modeInfo.dmBitsPerPel < 16) continue;
modes.push_back( modeInfo );
}
Проблема в том, что я получаю режимы панорамирования! Я не могу отличить, какие есть какие; например, мой ноутбук ATI имеет максимальный нормальный режим 1280x800, но также имеет режим панорамирования 1024x600!
Кто-нибудь знает способ отличить 2, чтобы я мог отклонить режимы панорамирования из моего меню?
1 ответ
@Martin: я предполагаю, что OP просто разместил res в неправильном порядке.
Эта ссылка о том, что вы ищете?
Похоже, что это правильный способ получить размеры экрана в пикселях в Windows.