Различают панорамирование и нормальные режимы экрана в коде - 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.

Другие вопросы по тегам