IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Соотношение сторон экрана.
сообщение
Сообщение #1


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Как программе узнать соотношение сторон экрана компьютера, на котором её запустили? 4 к 3 или 16 к 10 или 16 к 9?

Сообщение отредактировано: TarasBer -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Взять GetSystemMetrics(SM_CXSCREEN) и поделить его на GetSystemMetrics(SM_CYSCREEN). А потом проверить полученное соотношение на равенство 4/3, 16/10 или 16/9
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


А разве эта функция не в пикселах результат возвращает? Тут пикселы, сами понимаете, не годятся.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Тут пикселы, сами понимаете, не годятся.
То есть, если я скажу, что горизонталь экрана равна 1920 пикселей, а вертикаль - 1080 пикселей, то экран автоматически перестает иметь соотношение 16:9, а если ширина = 160 см, а высота = 90 - то все в порядке?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


А, так это говорит про возможности монитора, а не текущее разрешение?
Если текущее разрешение - 800 на 600, но это вовсе не означает, что экран 4:3.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






  ShowMessage(
Format('%dmmX%dmm vs %dX%d',
[GetDeviceCaps(GetDC(0), HORZSIZE), GetDeviceCaps(GetDC(0), VERTSIZE),
GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN)])
);

мне только что выдало 510mmX286mm vs. 1920X1080

Так вот первое соотношение (физические размеры экрана в миллиметрах) - это приблизительно 16:9. Второе - точно 16:9
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Ага, GetDeviceCaps. Вот, это оно.


Добавлено через 1 мин.
[offtop]
Цитата
510mmX286mm

Ничего себе у вас мониторчик... Я бы устал глазами туда-сюда бегать по такому.
[/offtop]


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 1.11.2020 3:11
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name