M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

    Группа свойств Visual. Местоположение и размер элемента управления

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

    Рис. 2.2. Категории свойств визуального компонента.

    Для представления их в таком виде нужно отметить флажок 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;

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