Как программе узнать соотношение сторон экрана компьютера, на котором её запустили? 4 к 3 или 16 к 10 или 16 к 9?
Взять GetSystemMetrics(SM_CXSCREEN) и поделить его на GetSystemMetrics(SM_CYSCREEN). А потом проверить полученное соотношение на равенство 4/3, 16/10 или 16/9
А разве эта функция не в пикселах результат возвращает? Тут пикселы, сами понимаете, не годятся.
А, так это говорит про возможности монитора, а не текущее разрешение?
Если текущее разрешение - 800 на 600, но это вовсе не означает, что экран 4:3.
ShowMessage(мне только что выдало 510mmX286mm vs. 1920X1080
Format('%dmmX%dmm vs %dX%d',
[GetDeviceCaps(GetDC(0), HORZSIZE), GetDeviceCaps(GetDC(0), VERTSIZE),
GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)])
);
Ага, GetDeviceCaps. Вот, это оно.
Добавлено через 1 мин.
[offtop]