Тема: ScaleBy
Показать сообщение отдельно
  #4  
Старый 30.03.2012, 18:49
nixel nixel вне форума
Начинающий
 
Регистрация: 12.12.2011
Адрес: Москва
Сообщения: 150
Версия Delphi: XE2-U4
Репутация: 131
По умолчанию

При изменении разрешения?
Т.е. Вы вручную меняете разрешение монитора в настройках ОС?
Тогда SetBounds надо использовать не при создании формы, а как-то отлавливать изменение разрешения монитора. По уму, скорее всего есть какое-то решение на WinAPI, не по уму можно проверять значение ширины и высоты экрана в таймере.

З.ы. Подгонку размера через ScaleBy можно сделать сразу по двум измерениям так, чтобы панель не вылезала за экран, ТОЛЬКО при условии, что ее начальные размеры (те, с которыми она создавалась, неважно в дизайнтайм или в рантайм) прямо пропорциональны текущему разрешению экрана. В любом другом случае масштабирование произойдет с ошибкой по одному измерению (либо высоте, либо ширине, в зависимости от того, по какому измерению Вы будете высчитывать коэффициенты M и D), и после масштабирования надо будет принудительно подгонять под экран второе измерение.

Зы2. В общем, направление движения, думаю, задал, а там может более сведущие в системных делах товарищи помогут =)
Ответить с цитированием