Изучим диалог с вкладками. Для диалога с вкладками используется компонент PageControl с вкладки Win32. Разместите его на форме. Для добавления вкладок на наш компонент просто щелкните на нем правой кнопкой мыши из контекстного меню выберите New Page. Таким способом можно добавить требуемое число вкладок. Удаляются они аналогично - из контекстного меню нужной вкладки выбираем Delete Page (для того, чтобы выделить нужную вкладку, просто щелкните на ней (но не на ее ярлычке - в этом случае выделится весь PageControl)).
После того, как вы добавите пару-тройку вкладок, они появятся в окне Object TreeView, так что для задания свойств конкретной вкладки просто щелкните на соответствующей строке в окне Object TreeView.
Теперь можно размещать на вкладках разные элементы управления (как и на обычной форме).
Добираться до размещенных элементов управления можно, например, так:
procedure TForm1.Button1Click(Sender: TObject);
begin
CheckBox1.Enabled:=false;
end;
Обратите внимание что, несмотря на то, что наш checkbox расположен на вкладке (и если вы попытаетесь перетащить его мышкой за ее пределы, то у вас ничего не получится), добраться до него мы можем через форму (в данном примере по нажатии на кнопку). Если вы расположите на второй вкладке другой checkbox, то он получит имя CheckBox2, а не CheckBox1.
Посмотрим теперь, как могут располагаться вкладки, если их слишком много, чтобы умещаться в один ряд. Если свойство MultiLine для нашего компонента PageControl установлено в true, то они располагаются в несколько рядов.
А если MultiLine установлено в false (по умолчанию), то в один ряд, причем справа появляются две кнопки для перемещения (совсем как в палитре компонент Delphi).
Свойство TabIndex определяет активную в данный момент вкладку (нумерация с нуля). Это свойство доступно только для чтения.
Из полезных свойств отметим также TabPosition. Возможные значения для него - tpTop, tpBottom, tpLeft, tpRight. При этих значениях ярлыки к вкладкам располагаются наверху, внизу, слева и справа соответственно. По умолчанию это свойство равно tpTop.
Для получения количества вкладок служит свойство PageCount объекта PageControl. Оно, естественно, доступно только для чтения.
Из модных нововведений интерфейса отметим также свойство HotTrack. Если его установить в true, то при наведении мышки заголовок вкладки будет подсвечиваться.
Вкладки можно добавлять во время выполнения программы.
Вот пример такого кода (у нас он выполняется при нажатии кнопки):
procedure TForm1.Button1Click(Sender: TObject);
var
tab : TTabSheet; //Заводим новую вкладку
begin
tab:=TTabSheet.Create(Form1); //Задаем родителя
tab.PageControl:=PageControl1;
tab.Caption:='New'; //Задаем заголовок
end;
При щелчке на кнопке Button1 на нашей форме появится новая вкладка с заголовком new.
Всё на этом урок закончен.