Советы по Delphi

         

Динамические PageControl/TabSheet I


Динамическое создание Page Control'ов и Tab Sheet'ов:

    var T : TTabSheet; P : TPageControl; begin // Создаем PageControl // При создании получаем ссылку на PageControl, чтобы в дальнейшем на него ссылаться. P := TPageControl.Create(application); with P do begin Parent := Form1;  // устанавливаем его как элемент управления формы. Top := 30; Left := 30; Width := 200; Height := 150; end;  // with TPageControl
// Создаем 3 страницы T := TTabSheet.Create(P); with T do begin Visible := True;   // Это необходимо, или форма не будет корректно перерисовываться Caption := 'Страница 1'; PageControl := P;  // Назначаем Tab в Page Control end;  // with
T := TTabSheet.Create(P); with T do begin Visible := True;   // Это необходимо, или форма не будет корректно перерисовываться Caption := 'Страница 2'; PageControl := P;  // Назначаем Tab в Page Control end;  // with
T := TTabSheet.Create(P); with T do begin Visible := True;   // Это необходимо, или форма не будет корректно перерисовываться Caption := 'Страница 3'; PageControl := P;  // Назначаем Tab в Page Control end;  // with
// Создаем 3 кнопки, 1 на страницу with tbutton.create(application) do begin Parent := P.Pages[0];  // "Указываем" кнопке родительскую страницу Caption := 'Привет, страница 1'; Left := 0; Top := 0; end; // with
with tbutton.create(application) do begin Parent := P.Pages[1];  // "Указываем" кнопке родительскую страницу Caption := 'Привет, страница 2'; Left := 50; Top := 50; end; // with
with tbutton.create(application) do begin Parent := P.Pages[2];  // "Указываем" кнопке родительскую страницу Caption := 'Привет, страница 3'; Left := 100; Top :=  90; end; // with
// Это должно быть сделано, или Tab первоначально не синхронизируется // с правильной страницей. Только в случае, если у вас более чем одна страница. P.ActivePage := P.Pages[1]; P.ActivePage := P.Pages[0];  // Реально показываемая страница end;

[001024]



Содержание раздела