Страница: 1 |
Страница: 1 |
Вопрос: Разрешение экрана
Добавлено: 26.08.04 19:22
Автор вопроса: Paul
Подскажите как правильно менять размеры формы под различным разрешением экрана. Под 800x600 не влазит
в экран.
Может у кого есть кусок кода?
Так понимаю, что нужно юзать GetSystemMetrics и менять
ширину и расположение элементов формы программно...эх
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Lister
ICQ: 298621256
Вопросов: 57
Ответов: 304
Профиль | | #1
Добавлено: 26.08.04 22:17
Да, нужно будет позиционировать все элементы заново...
Расположи контролы в контейнере и сделай прокручивание - так будет проще, либо сразу делай форму размером 800х600
А вообще, если контролы не умещаются, лучше располагать их на вкладках
Номер ответа: 2
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #2
Добавлено: 26.08.04 22:26
То есть ты хочешь, чтоб форма(и ВСЕ ее элементы) все время была, например, в четверть экрана? Тогда нужно найти коэффициент, скажем, ширины экрана(kw), под которую расчитана форма(например 1024) к имеющейся ширине(например 800), найти такжа коэффициент высоты(kh)а потом:
Dim i as Integer
For i=0 to Controls.Count - 1
Controls(i).Width=Controls(i).Width / kw
Controls(i).Height=Controls(i).Height / kh
Next
А вот разрешение придется узнавать...
P.S. Если не катит, будем разбераться... :~)
Номер ответа: 3
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #3
Добавлено: 26.08.04 22:26
ЭХ, забыл!!!
добавь еще в цикл:
Controls(i).Left=Controls(i).Left/ kw
Controls(i).Top=Controls(i).Top / kh
Номер ответа: 4
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #4
Добавлено: 26.08.04 23:12
GetSystemMetrics, это АПИ, а можно юзать Screen.Width & Screen.Height
Номер ответа: 5
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #5
Добавлено: 27.08.04 08:33
А если точнее - то получить разрешение можно так
ret=Screen.Width/Screen.TwipsPerPixelX & "x" & Screen.Height/Screen.TwipsPerPixeY
И там уже меняй размеры формы
Номер ответа: 6
Автор ответа:
alexis_b
ICQ: 232969505
Вопросов: 10
Ответов: 74
Профиль | | #6
Добавлено: 27.08.04 09:11
есть такой компонент ActiveSizer от dataDynamics если его кинуть на форму а потом расположить все элементы то после этого не нужно делать перерсчет размеров и положения контролов при изменении формы
Номер ответа: 7
Автор ответа:
Paul
Вопросов: 19
Ответов: 11
Профиль | | #7
Добавлено: 27.08.04 10:27
Спасибо всем.
Именно и нужно, чтобы окно формы занимало всегда
(при любом разрешении)
3 четверти экрана по ширине
(это заморочка заказчика).
Контролы и так располагаются по вкладкам, но на каждой вкладке их много и некоторые должны быть достаточно большими по ширине (гриды и др.), а в программе окно одно
такой интефейс захотелось начальству).
Ещё раз, спасибо.