| Урок 3 - Чтоб все было опрятно или расположение обьектов на форме 
 
 
Ведущий раздела KOL и MCK: Анатолий aka XVeLАвтор: Борис Моренко
 WEB-сайт: http://kol.mastak.ru
 
Полную версию библиотеки KOL и MCK можно скачать здесь.
 Обсудим свойства отвечающие за расположение объектов на форме. Свойства Width и Height отвечают за длину и высоту 
      соответственно.Если вам надо поменять одновременно длину и высоту 
      можно воспользоваться SetSize(w,h:integer).
 Бывают случаи, что 
      объект может выходить за пределы своего родительского объекта, тогда можно 
      воспользоваться свойством Size(w,h:integer). Оно устанавливает 
      размер родительского объекта, таким же, как и самого объекта. 
Например:
 
var
  Form, Button: PControl;
begin
   Form  := NewForm(Applet, 'Пример');
   Button := NewButton(form, 'Кнопка').Size (120, 50);
   Run(Form);
end.
 Приведет к следующему результату  
 CenterOnParent - размещает объект посередине 
      родительского.
 Для изменения размера родительского объекта по 
      контуру объекта, применяют также свойства ResizeParent (по правой и 
      нижней стороне объекта), ResizeParentRight (по правой стороне), 
      ResizeParentBottom (по нижней)
 Таким образом REdit.Size(120,50) имеет такой же результат как 
      совместное действие строк:REdit.SetSize(120,50) 
      ;
 REdit.ResizeParent;
 В VCL у некоторых объектов есть свойство Align. Его аналоги в KOL это 
      Align:TControlAlign и SetAlign(AAlign:TControlAlign). 
      TControlAlign может принимать следующие значения:caNone, caLeft, 
      caTop, caRight, caBottom, caClient
 В KOL также есть группа свойств, которые описывают положение объекта 
      относительно объекта который был создан первым.PlaceRight 
      (справа относительно первого), PlaceDown (снизу), PlaceUnder 
      (абсолютно под первым объектом)
 На рис.1 (PlaceDown) и рис.2 
      (PlaceUnder) показана разница между этими свойствами:
 
var
  Form, cont, cont1: PControl;
...
form := NewForm(Applet,'Пример');
form.SetSize(130, 140);
cont := NewPanel(form, esRaised).Shift(20, 0).SetSize(50, 50);
cont1 := NewPanel(form, esRaised).SetSize(50, 50);
cont1.PlaceDown; // на этом месте может быть и cont1.PlaceUnder 
        
        
          |  |  |  
          | рис.1(PlaceDown) | рис.2(PlaceUnder) |    Перемещать объект на форме можно обращаясь к свойствам Left и 
      Top (отступ от левого - верхнего угла в лево и вниз 
      соответственно). Чтобы изменить одновременно эти свойства, надо 
      воспользоваться свойством Shift(dX,dY:integer).  И так подведем итог: 
        
        
          | Cвойство | Описание |  
          | SetSize или Size | устанавливает длину и высоту объекта |  
          | ResizeParent | Изменение размера родительского объекта относительно 
            объекта |  
          | ResizeParentRight | Изменение размера родительского объекта относительно 
            объекта по вертикали |  
          | ResizeParentBottom | Изменение размера родительского объекта относительно 
            объекта по горизонтали |  
          | CenterOnParent | Размещение объекта посредине родительского 
        объекта |  
          | Align и SetAlign | "Разлив" (выравнивание) объекта относительно 
            родительского |  
          | Shift | устанавливают положение объекта на форме |  
          | PlaceRight | справа - положение объекта относительно созданного 
            первым . |  
          | PlaceDown и PlaceUnder | снизу - положение объекта относительно созданного 
            первым . |  |