TSplitter/ru
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
TSplitter является компонентом, который может быть размещен на панели или форме в виде вертикальной или горизонтальной полосы для функционального разделения панелей.
Элемент управления TSplitter может быть использован в качестве визуального разделителя между двумя половинами формы и предоставляет пользователю приложения возможность перемещать его вертикально или горизонтально. Данный компонент можно найти на вкладке Additional палитры компонентов.
Элемент управления TSplitter в основном может работать в двух различных режимах: с помощью Align (способ для Delphi) или с помощью AnchorSides (не поддерживается в Delphi).
Элемент Splitter и выравнивание
Выравнивание (Align) может использоваться для простого расположения двух (или ряда) элементов. Например, когда вам необходимы некоторые элементы с изменяемыми размерами, такие как элемент Memo и Listbox.
В следующем примере продемонстрировано это.
Во время разработки
- создайте новую форму.
- разместите на форме элемент TMemo (щелкните левой кнопкой мыши на значке TMemo на палитре компонентов, а затем щелкните левой кнопкой на форме).
- установите в Инспекторе объектов свойство Align элемента Memo1 в значение alLeft.
- разместите на форме элемент TSplitter.
- по умолчанию свойство Align уже установлено в alLeft.
- разместите на форме другой элемент TMemo.
- установите в Инспекторе объектов свойство Align элемента Memo2 в значение alClient.
Во время выполнения
Вы можете выполнить те же действия, что и выше, программно, а не в дизайнере форм/Инспекторе объектов:
procedure TMainForm.FormCreate(Sender: TObject);
var
Memo1: TMemo;
Splitter1: TSplitter;
Memo2: TMemo;
begin
Memo1:=TMemo.Create(Self);
with Memo1 do begin
Name:='Memo1';
Parent:=Self;
Align:=alLeft;
end;
Splitter1:=TSplitter.Create(Self);
with Splitter1 do begin
Name:='Splitter1';
Parent:=Self;
Left:=1; // позиция справа от Memo1
Align:=alLeft;
end;
Memo2:=TMemo.Create(Self);
with Memo2 do begin
Name:='Memo2';
Parent:=Self;
Align:=alClient;
end;
end;
Элемент Splitter с якорной привязкой
Якоря (Anchor) позволяют более точно настроить расположение. С помощью свойства Align можно заполнить всё пространство. Якорная привязка позволяет пристыковывать элементы управления к соседнему элементу.
Во время разработки
- создайте новую форму.
- разместите на форме элемент TMemo (щелкните левой кнопкой мыши на значке TMemo на палитре компонентов, а затем щелкните левой кнопкой на форме).
- установите в Инспекторе объектов свойство Align элемента Memo1 в значение alLeft.
- разместите на форме элемент TSplitter.
- установите свойство Align элемента Splitter1 в значение alNone.
- выберите элемент Memo1.
- выберите пункт меню 'Вид' -> 'Редактор привязок'
- привяжите правую сторону элемента Memo1 к элементу Splitter1.
- разместите на форме другой элемент TMemo.
- установите в Инспекторе объектов свойство Align элемента Memo2 в значение alRight.
- привяжите левую сторону элемента Memo2 к элементу Splitter1. Убедитесь, что он привязан к правой стороне элемента Splitter1 (кнопка под выпадающим списком в Редакторе привязок должна быть нажата).
Во время выполнения
Вы можете выполнить те же действия, что и выше, программно, а не в дизайнере форм/Инспекторе объектов:
procedure TMainForm.FormCreate(Sender: TObject);
var
Memo1: TMemo;
Splitter1: TSplitter;
Memo2: TMemo;
begin
Memo1:=TMemo.Create(Self);
with Memo1 do begin
Name:='Memo1';
Parent:=Self;
Align:=alLeft;
end;
Splitter1:=TSplitter.Create(Self);
with Splitter1 do begin
Name:='Splitter1';
Parent:=Self;
Align:=alNone;
Left:=100; // some value
AnchorParallel(akBottom,0,Parent);
end;
Memo1.AnchorToNeighbour(akRight,0,Splitter1);
Memo2:=TMemo.Create(Self);
with Memo2 do begin
Name:='Memo2';
Parent:=Self;
Align:=alRight;
AnchorToNeighbour(akLeft,0,Splitter1);
end;
end;
См. также