• Администрация SafeZone приветствует вас на нашем форуме!
    Если вы больше не желаете видеть рекламу при просмотре тем и сообщений - то достаточно просто зарегистрироваться. Для зарегистрированных пользователей реклама не отображается.

VB 6 Как лучше бороться с разрешением экрана?

Кирилл

Команда форума
Администратор
Сообщения
13,383
Симпатии
5,901
#1
Привет всем.

Вот такой вот вопрос ... в сети рекомендуют прописывать настройки для каждого элемента.
Но если элементов под сотню - это застрелиться можно... что подскажут гуру?

Проблема в том, что на разных мониторах разное разрешение, масштаб.
И когда делаешь полноэкранный режим - программа не растягивается пропорционально, а смещает элементы. что не очень красиво.
 

Dragokas

Very kind Developer
Команда форума
Супер-Модератор
Разработчик
Клуб переводчиков
Сообщения
5,735
Симпатии
5,639
#2
Привет!

Во-первых, полноэкранный режим, разрешение и масштаб (DPI) - это совершенно разные вещи.
Во-вторых, тебе придётся делать всё это вручную. Например, перечислять в цикле все контролы, и делать все необходимые рассчёты, и динамическую смену позиции / размера.

Лично сам таким никогда не занимался. Максимум, делал авторастягивание поля ввода, когда изменяешь размеры формы (или делаешь на полный экран).
По DPI (кол-во точек на дюйм), система сама подстраивает кое-как худо-криво некоторые контролы, если ты не прописываешь атрибут DPIAware в манифесте.

На счёт того, как сделать это профессионально, на vbforums.com есть множество обсуждений по этому поводу и одна большая статья. Если осилишь, узнаешь то, что тебя интересует:
[VB6] Tutorial: Being DPI Aware-VBForums

Ещё темы:
What Would It Take to Make VB DPI-Aware Realtime?-VBForums
[RESOLVED] Per-Monitor DPI Awareness & VB-VBForums
 
Сверху Снизу