Тема: TPageControl
Показать сообщение отдельно
  #2  
Старый 06.01.2012, 16:12
Pyro Pyro вне форума
Так проходящий
 
Регистрация: 18.07.2011
Сообщения: 805
Версия Delphi: 7Lite
Репутация: 6063
По умолчанию

первую создаёшь сам правой кнопкой
на неё ложишь что нужно

этот код создаёт копию первой страницы
но не копирует обработчики и свойства, это надо дописывать самому

PHP код:
procedure TForm1.Button1Click(SenderTObject);
var
  
NewTabSheetTTabSheet;
  
C, new: TControl;
  
iinteger;
begin
  NewTabSheet
:=TTabSheet.Create(PageControl1);
  
NewTabSheet.PageControl := PageControl1;
  
NewTabSheet.Name := 'TabSheet' IntToStr(PageControl1.PageCount);
  
NewTabSheet.Caption := NewTabSheet.Name;

  
// This next trick ( called "cloning" ) was adapted from
  // Marco Cantu's "Delphi Developer's Guide"
  
for := 0 to TabSheet1.ControlCount do
  
begin
    C 
:= TabSheet1.Controls[i];
    new := 
TControlClass(C.ClassType).Create(NewTabSheet);
    
with new do
    
begin
      Parent 
:= NewTabSheet;
      
SetBounds(C.LeftC.TopC.WidthC.Height);

      if new 
is TButton then
        
(new as TButton).caption := (as TButton).Caption;

      
// Need to add your other Properties and Events here...
    
end;
  
end;
end
Ответить с цитированием