Форум — Ответы     (  К темам )
 ?  Борт707: Собираю форму в Вын98, запускаю в NT — все сьезжает (25-03-2003 17:16:56)
Вроде все анчоры и алигменты выставил — все равно самая большая панель формы
оказывается меньше чем надо... Как с этим бороться?
 Павел (25-03-2003 19:37:53)
По-видимому на компьютерах с Win98 и Win NT разное разрешение экрана,
если в Win98 эта панель не съезжает, а в Win NT съезжает.
1 Изменить разрешение экрана — сделать как на Win98, или на компе,
или при запуске этой программы, чтобы это сделала она
или
2 Отслеживать в программе разрешение экрана и изменять размеры формы
и всех компонентов на ней под это разрешение.
 Борт707 (26-03-2003 12:52:50)
Да, верно, разрешение экрана разное...

Наверно, я что-то не понимаю — но ведь в свойствах формы и панели в
обьект-инспекторе есть высота и ширина в пикселах. А если так, то значит
размер основной формы и ее внутренних элементов должен быть одинаков
на любом экране?

Если нужно конкретно — проблема следующая:
В форме по вертикали как бы три части — сверху несколько кнопок и чек-боксов,
потом поле Мемо, под ним еще несколько кнопок и строка состояния. Надо, чтобы
поле Мемо занимало всю ширину формы. Сейчас я делаю так — просто подгоняю размер
Мемо под размер родительской формы и закрепляю его края анчорами, чтобы поле
правильно растягивалось вместе с формой. На моей машине все замечательно, при переходе
на другую соотношение размера формы и Мемо меняется случайным образом. Как надо сделать
правильно? (менять разрешение на клиентской машине, имхо — неприемлимо)
Дима
 Георгий (26-03-2003 20:11:39)
Я в подобных случаях делаю так
1. все элементы группирую и размещаю на Panel (в твоём случае это 3 панели — для верхних элементов, нижних и середины)
2. свойство align панелей устанивливаю в нужное значение (у тебя это alTop, alBottom, alClient соответственно)
вуаля — всё работает и само размеры изменяет
3. устанавливаю минимальные размеры формы, при которых на панели ещё хоть что то вмещается с помощью свойства constrains)
в результате получается прилично оформленная "картинка", которая никуда не сьезжает...
 Павел (26-03-2003 20:14:56)
Значит:
2 Отслеживать в программе разрешение экрана и изменять размеры формы
и всех компонентов на ней под это разрешение.