Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

PageControl [D7, XP]


333 ©   (2005-12-04 20:45:00) 

Вопрос в следующем. На форме находятся 3 кнопки и 1 Pagecontrol. Как по нажатию на 1 кнопку создавать скажем 3 вкладки на PageControl, по нажатию на вторую кнопку 5 вкладок и т.д. Причем на каждой из вкладок должны находиться разные компоненты (label, edit, memo, ListBox и т.д.)
может можно как то создать все панели заранее и вызывать каждую панель по нажатию на определенную кнопку. Заранее спасибо


Плохиш   (2005-12-05 13:09:00) [1]


> 333   (04.12.05 20:45)

Если количество вкладок и набор компонентов, отображаемый на них, известны зарание, то создать их при проектировании, а в процессе работы переключать свойство TabVisible у вкладок.


SergGG   (2005-12-05 12:18:00) [2]

Если я правильно понял, то так:


 TabSheets:array of TTabSheet;
 Lables :array of TLabel;
 Edits :array of TEdit;
 Memos:array of TMemo;
 ListBoxs:array of TListBox;

implementation

{$R *.dfm}

procedure TForm1.AddTabSh;
var i:integer;
begin
 SetLength(TabSheets,count);
 SetLength(Lables,count);
 SetLength(Edits,count);
 SetLength(Memos,count);
 SetLength(ListBoxs,count);
 for i:=0 to count-1 do
 begin
  TabSheets[i]:=TTabSheet.Create(self);
  TabSheets[i].Parent:=PageControl1;
  TabSheets[i].PageControl:=PageControl1;
  TabSheets[i].Caption:=IntToStr(i);

  Lables[i]:=TLabel.Create(self);
  Lables[i].Parent:=TabSheets[i];
  Lables[i].Caption:='Lable'+IntToStr(i);

  Edits[i]:=TEdit.Create(self);
  Edits[i].Parent:=TabSheets[i];
  Edits[i].Left:=100;
  Edits[i].Text:='Edit'+IntToStr(i);

  Memos[i]:=TMemo.Create(self);
  Memos[i].Parent:=TabSheets[i];
  Memos[i].Left:=200;
  Memos[i].Lines.Add('Memo'+IntToStr(i));

  ListBoxs[i]:=TListBox.Create(self);
  ListBoxs[i].Parent:=TabSheets[i];
  ListBoxs[i].Left:=300;
  ListBoxs[i].Items.Add('listBox'+IntToStr(i));
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 AddTabSh(3);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо