Урок 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 |
снизу - положение объекта относительно созданного
первым . |
|