![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;