powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разрешение экрана
15 сообщений из 15, страница 1 из 1
Разрешение экрана
    #39655174
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приветствую всех.

Такой вопрос. В приложении на D2010 пытаюсь получить разрешение экрана текущего монитора по горизонтали. Точно знаю, что значение равно 1600 (разрешение 1600х1200), но все использованные мной способы выдают 1280. Пробовал Screen.Width и GetDeviceCaps. Есть ли другие способы, которые могут выдать точные значения?
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655218
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Screen.Monitors?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655223
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виртуализация DPI? Включи high DPI awared в манифесте.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655230
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655239
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
теоретическое максимальное разрешение монитора или то разрешение, которое сейчас установлено в системе??
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655277
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторScreen.Monitors?
Попробовал через Screen.MonitorFromWindow(Self.Handle).Width - бестолку.

авторВиртуализация DPI? Включи high DPI awared в манифесте.
авторGetSystemMetrics в помощь.
Спасибо. Попробую на днях.

автортеоретическое максимальное разрешение монитора или то разрешение, которое сейчас установлено в системе??
Последнее.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655372
Фотография krapotkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если честно, никогда меня не обманывал Screen.Width на Windows
он же не с потолка эти данные берет
...
Рейтинг: 0 / 0
Разрешение экрана
    #39655383
Соколинский Борис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krapotkinесли честно, никогда меня не обманывал Screen.Width на Windows
он же не с потолка эти данные берет Конечно, не с потолка - драйвер видеоадаптера возвращает.
Поэтому на месте автора я бы не шаманил с правильным по сути кодом, а разбирался с косяком драйвера.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39656855
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПоэтому на месте автора я бы не шаманил с правильным по сути кодом, а разбирался с косяком драйвера.
Вероятно, так и есть. Тем более это ноут с HDMI, который я цепляю к разным экранам.
Вот пример выполнения простенького кода на том же ноуте, но на другом мониторе:
Код: sql
1.
2.
3.
4.
procedure TForm1.FormShow(Sender: TObject);
begin
 ShowMessage (IntToStr(Screen.Width));
end;


...
Рейтинг: 0 / 0
Разрешение экрана
    #39657695
Любезный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сегодня попробовал этот же код на обычном десктопе с D2010 и Win10x64 - показывает правильно 1920. Забыл написать, что проблемный ноут - с виндой 8.1х64.
Пожалуй, действительно проблема в дровах.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39657828
Фотография Dimonka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно фишка в масштабировании шрифтов?
...
Рейтинг: 0 / 0
Разрешение экрана
    #39657832
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimonka,

Врятли. Ни разу не видел, что бы неверные данные приходили. Максимум - что мониторы попутаны бывают. В винде 1 и 2 а в делфе это 1 и 0. Тоже скорее всего винда криво данные раздаёт.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39657835
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Концов так и не нашел. Может кто знает, к слову что по этому поводу?
...
Рейтинг: 0 / 0
Разрешение экрана
    #39657866
d7i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Используйте GetDeviceCaps https://msdn.microsoft.com/en-us/library/windows/desktop/dd144877(v=vs.85).aspx
И обратите внимание:
On a multiple monitor system, if hdc is the desktop, GetDeviceCaps returns the capabilities of the primary monitor. If you want info for other monitors, you must use the multi-monitor APIs or CreateDC to get a HDC for the device context (DC) of a specific monitor.
...
Рейтинг: 0 / 0
Разрешение экрана
    #39657870
чччД__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
makhaonКонцов так и не нашел. Может кто знает, к слову что по этому поводу?
У нас один товарищ вроде с чем-то сходным разбирался, я тут ненадолго пересекся с ним, он рассказал, что начиная с висты, можно у системы запрашивать/задавать "AspectRatio", типа у тебя 1600х1200 разрешение соответствует физическому AspectRato 4:3, но можно задать 5:4 и везде станет 1280 x 1024.
В общем, сказал, что надо гуглить метод "GetAspectRatio".
И да, мопэд не мой, подробностей в ближайшее время не жди.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Разрешение экрана
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]