Задача: Как сделать так, чтобы форма открывалась по центру экрана или по центру другой формы?
Инструменты: Delphi
Решение: С помощью свойства Position можно организовать автоматическое размещение формы на экране, выбрав одно из предоставленных значений.
В нашем случае для центрирования главной формы я воспользовался свойством poDesktopCenter и для центрирования дочерних форм — poMainFormCenter. Другие возможные значения описаны ниже:
- poDefault — размеры и положение формы подбираются автоматически исходя из размеров экрана.
- poDefaultPosOnly — положение формы подбирается автоматически, а ширина и высота определяются значениями свойств Width и Height соответственно.
- poDefaultSizeOnly — размеры формы устанавливаются автоматически, а местоположение определяется значениями свойств Left и Top.
- poDesigned — размеры и положение формы определяются значениями свойств Left, Top, Width, Height.
- poDesktopCenter — форма размещается в центре рабочего стола (т.е. экрана, из которого исключена панель задач). Размеры формы определяются значениями свойств Width и Height.
- poMainFormCenter — форма центрируется относительно главной формы. Размеры формы определяются значениями свойств Width и Height.
- poOwnerFormCenter — форма центрируется относительно формы-владельца. Размеры формы определяются значениями свойств Width и Height.
- poScreenCenter — форма размещается в центре экрана. Размеры формы определяются значениями свойств Width и Height.
PS: Пример отображения форм с разными параметрами можно посмотреть на github