Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Свойства визуальных компонентов, управляющие их размещением (Left, Width, Anchors, Align и т.д.).

Поиск

Местоположение и размер

Для определения местоположения и размеров визуального компонента введены два опубликованных свойства для задания координат левого верхнего угла:

Для представления их в таком виде нужно отметить флажок By Category в пункте меню Arrange всплывающего меню Инспектора объектов

property Top: Integer;

property Left: Integer;

 

и два опубликованных свойства для определения размеров:

property Height: Integer;

property Width: Integer;

Значения свойств задаются в пикселах. Для определения местоположения используется система координат рабочей области владельца данного компонента. Начало отсчета находится в левом верхнем углу. Оси направлены вправо и вниз. Под рабочей областью понимается та часть площади владельца (формы, панели), которая предназначена для размещения дочерних элементов. Эти свойства можно использовать как на этапе разработки, так и во время выполнения.

Свойство

property ClientOrigin: TPoint;

содержит координаты левого верхнего угла элемента управления в системе координат экрана. Координаты любой точки можно пересчитать в экранные при помощи метода

function ClientToScreen(const Point: TPoint): TPoint;

и наоборот:

function ScreenToClient(const Point: TPoint): TPoint;

Для приведения компонента в соответствие текущим значениям указанных выше свойств используется метод

procedure AdjustSize; dynamic;

Параметры рабочей области компонента определяются следующими свойствами:

  • property ClientHeight: Integer;

определяет высоту рабочей области в пикселах.

  • property ClientWidth: Integer;

определяет ширину рабочей области в пикселах.

  • property ClientRect: TRect;

значение которого есть не что иное, как (0, 0,.clientwidth, ClientHeight). Кому-то будет удобнее пользоваться этим свойством.

Если разработчику неизвестны текущие параметры рабочей области, то он может воспользоваться следующими методами.

Функция возвращает координаты левого верхнего угла рабочей области.

function GetClientOrigin: TPoint; virtual;

Функция возвращает размеры прямоугольника рабочей области.

function GetClientRect: TRect; virtual;

 

Выравнивание

Для выравнивания компонента в рабочей области его владельца (обычно это форма) применяется свойство

property Align: TAlign;

Тип TAlign объявлен следующим образом:

type TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);

При значении alNone выравнивание отсутствует. При следующих четырех значениях выравнивание осуществляется по соответствующей стороне. Значение alClient приводит к тому, что элемент управления изменяет свои размеры до размеров рабочей области владельца.

Свойство

property Anchors: TAnchors;

type TAnchors = set of TAnchorKind;

type TAnchorKind = (akTop, akLeft, akRight, akBottom);

обеспечивает фиксацию элемента управления по сторонам владельца. "Якорь" можно установить по одной, двум, трем или четырем сторонам. При задании якоря по любой стороне расстояние между стороной и элементом управления сохраняется неизменным. Комбинируя якоря для сторон, можно добиться различных вариантов поведения компонента при изменении размеров владельца.

Если по вертикали или горизонтали якорь не установлен вообще, то при изменении размеров владельца компонент остается на том же месте с учетом изменившегося размера.

Если по вертикали или горизонтали установлены оба якоря, то при изменении размеров владельца размер элемента управления изменяется таким образом, чтобы расстояния до сторон владельца остатись неизменными.

Свойство

property AutoSize: Boolean;

обеспечивает изменение размеров компонента в соответствии с размерами его содержимого (текста, изображения, списка, иерархического дерева и т. д.).



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 248; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.117.101.7 (0.005 с.)