Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.119.116.102] |
|
Сообщ.
#1
,
|
|
|
Пишу:
Me.Move 0, 0, Screen.Width, Me.Height Слева и справа окна пикселей 8 есть ещё видимая часть экрана. Размешаю одно окно под другим: Form2.Top = Me.Top + Me.Height Разрыв между окнами 8 пикселей. С чем связаны эти нестыковки? |
Сообщ.
#2
,
|
|
|
Видимо, это всякие Border.Width/Height...
Добавлено П.С. кои по 4 пиксела идут. |
Сообщ.
#3
,
|
|
|
Если у окна есть прозрачный бордюр в 4 пиксела, то сверху д.б. отступ (а его нет) при Top=0, с боков отступы широкие, на 4 пиксела не тянут...
|
Сообщ.
#4
,
|
|
|
Цитата E.A. @ ..На работе то же самое приложение создает окно другого размера. Всё равнение контролов немного поехало. Пришлось добавить в начале GetSystemMetrics() чтобы отличить XP от 10. Контролы располагаются на клиентской части окна, поэтому при создании окна надо гарантировать точные размеры именно клиентской области. --- "GetClientRect" даст возможность узнать размеры клиентской части окна. "GetWindowRect" - получим размер всего окна. Значит, для конкретной системы, конкретного стиля окна (и других возможных параметров влияющих на размеры) можно рассчитать точно, как можно скорректировать общие размеры окна, чтобы получить желаемые размеры клиентской части. --- Будет ещё лучше, если вдобавок реализовать алгоритм коррекции расположения контролов в общем виде. Тогда при некоторых изменениях размеров окна нарушений выравнивания и патологий общего дизайна не будет. |
Сообщ.
#5
,
|
|
|
Цитата ЫукпШ @ Контролы располагаются на клиентской части окна В дизайнере что-то от нас скрывается? Какая-то неклиентская часть между бордюром и клиент. частью? ) |