→ Пошук по сайту       Увійти / Зареєструватися

Размеры и местоположение формы на экране

 Delphi

 Теперь определимся с размерами формы и ее местоположением на экране. Установить размеры и положение формы проще всего во время проектирования с помощью мыши. Другой способ - обратиться к окну свойств и задать размеры формы с помощью свойств Width и Height, а местоположение - с помощью свойств Left и Top (значения задаются в пикселах). Смысл свойств поясняет рисунок 7.21.



       Рисунок 7.21. Размеры и местоположение формы на экране


       Кроме того, с помощью свойства Positionможно организовать автоматическое размещение формы на экране, выбрав одно из следующих возможных значений:

  • poDefault - размеры и положение формы подбираются автоматически исходя из размеров экрана.
  • poDefaultPosOnly - положение формы подбирается автоматически, а ширина и высота определяются значениями свойств Width и Height соответственно.
  • poDefaultSizeOnly - размеры формы устанавливаются автоматически, а местоположение определяется значениями свойств Left и Top.
  • poDesigned - размеры и положение формы определяются значениями свойств Left, Top, Width, Height.
  • poDesktopCenter - форма размещается в центре рабочего стола (т.е. экрана, из которого исключена панель задач). Размеры формы определяются значениями свойств Width и Height.
  • poMainFormCenter - форма центрируется относительно главной формы. Размеры формы определяются значениями свойств Width и Height.
  • poOwnerFormCenter - форма центрируется относительно формы-владельца. Размеры формы определяются значениями свойств Width и Height.
  • poScreenCenter - форма размещается в центре экрана. Размеры формы определяются значениями свойств Width и Height.
       Иногда размеры формы рассчитываются исходя из размеров ее внутренней рабочей области (client area), на которой размещаются компоненты. Как известно, в рабочую область не входят рамка и заголовок. Размеры рабочей области хранятся в свойствах ClientWidth и ClientHeight. При их установке значения свойств Width и Height автоматически пересчитываются (и наоборот).
       Бывает, что при выборе размеров формы учитываются размеры экрана. Поскольку современные видео-адаптеры поддерживают множество режимов с различными разрешениями, встает вопрос: как обеспечить одинаковую пропорцию между формой и экраном независимо от разрешающей способности дисплея. На этот случай в форме предусмотрено свойство Scaled. Если оно установлено в значение True, то форма будет автоматически масштабироваться в зависимости от разрешающей способности дисплея.
       При перемещении по экрану, форма может слегка прилипать к краям экрана, если края формы находятся в непосредственной близости от них. Это происходит в том случае, если свойство ScreenSnap содержит значение True. Расстояние формы до краев экрана, при котором форма прилипает, задается в свойстве SnapBuffer и измеряется в пикселях.
       Работая с приложением, пользователь может свернуть форму или развернуть ее на всю рабочую область экрана с помощью соответствующих кнопок рамки. Состояние формы (свернута или развернута) определяется свойством WindowState, которое принимает следующие значения:
  • wsNormal - форма находится в нормальном состоянии (ни свернута, ни развернута на весь экран);
  • wsMinimized - форма свернута;
  • wsMaximized - форма развернута на весь экран.
       Если при проектировании вы измените значение свойства WindowState на wsMinimized или wsMaximized, то получите форму, которая при первом появлении будет автоматически либо свернута в панель задач, либо развернута на весь экран.
       На компьютере с двумя и более мониторами существует возможность выбрать для формы монитор, на котором она отображается. Для этого следует установить свойство DefaultMonitor в одно из следующих значений:
  • dmDesktop - форма отображается на текущем мониторе; никаких попыток разместить форму на каком-то конкретном мониторе не делается;
  • dmPrimary - форма отображается на первом мониторе в списке Monitors объекта Screen (см. параграф 7.7.2);
  • dmMainForm - форма отображается на том мониторе, на котором находится главная форма;
  • dmActiveForm - форма отображается на том мониторе, на котором находится активная в данный момент форма.
       Свойство DefaultMonitor учитывается лишь в том случае, если в программе существует главная форма.

загрузка...
Сторінки, близькі за змістом