Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 24.04.2008, 16:03   #1
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
Восклицание При нажатии на кнопку добавить в PageControl

Подскажите как реализовать такую вещь: при нажатии на кнопку в pagecontrol добавлялась новая вкладка.
VenMaster вне форума
Старый 24.04.2008, 16:15   #2
_Dmitry
Участник клуба
 
Аватар для _Dmitry
 
Регистрация: 02.09.2007
Сообщений: 1,193
По умолчанию

Код:
  public
    TabSheet: array of TTabSheet; //массив вкладок
.................
procedure TForm1.Button1Click(Sender: TObject);
var
  n: integer;
begin
  n:=Length(TabSheet)+1; //количество вкладок
  SetLength(TabSheet,n); //увеличить размер массива на 1
  TabSheet[n-1]:=TTabSheet.Create(self); //создать вкладку, n-1 т.к. нумерация с 0
  TabSheet[n-1].Caption:='Вкладка '+IntToStr(n-1);
  TabSheet[n-1].PageControl:=PageControl1;
  PageControl1.ActivePage:=TabSheet[n-1]; //сделать активной
end;

Последний раз редактировалось _Dmitry; 24.04.2008 в 16:18.
_Dmitry вне форума
Старый 24.04.2008, 16:36   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

+ такая тема уже была. Иши поиском если пример Дмитрия не понравится.
I'm learning to live...
Stilet вне форума
Старый 24.04.2008, 17:16   #4
VenMaster
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 53
По умолчанию

Дмитрий большое спасибо)))
VenMaster вне форума
Старый 25.04.2008, 01:15   #5
Баламут
Баламучу слегка...
Участник клуба
 
Аватар для Баламут
 
Регистрация: 01.11.2006
Сообщений: 1,585
По умолчанию

Не совсем понимаю зачем здесь нужен динамический массив? PageControl и сам прекрасно справляется с хранением своих TabSheet'ов
Баламут вне форума
Старый 25.04.2008, 01:41   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Баламут Посмотреть сообщение
Не совсем понимаю зачем здесь нужен динамический массив? PageControl и сам прекрасно справляется с хранением своих TabSheet'ов
М-м-да... Уж... Совершенно излишнее...
Вот пример создания и удаления вкладок с TMemo на них:

Код:
procedure TForm1.ButtonAddClick(Sender: TObject);
var mymemo: TMemo;
    mytab: TTabSheet;
begin
with PageControl1 do
begin
mytab:=TTabSheet.Create(Self);
mytab.PageControl:=PageControl1;
mytab.Caption:='Page '+IntToStr(PageCount);
end;
mymemo:=TMemo.Create(Self);
mymemo.Parent:=mytab;
mymemo.Align:=alClient;
end;

procedure TForm1.ButtonDelClick(Sender: TObject);
begin
if (PageControl1.PageCount>1) and (PageControl1.ActivePageIndex>0) then
PageControl1.ActivePage.Destroy;
//можно удалить все выбранные (активные), кроме первой, по одной есс-но
end;

Последний раз редактировалось mihali4; 22.12.2009 в 23:10.
mihali4 вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
при нажатии на кнопку Delete vik85 Помощь студентам 0 20.12.2009 20:34
Скрытие интерфейса при нажатии на кнопку kostghost Общие вопросы Delphi 3 28.08.2009 11:10
Проблемма с выводом надписи при нажатии на кнопку prikolist Общие вопросы C/C++ 6 06.02.2009 16:11
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40
Загрузка файла при нажатии на кнопку Simply-Art Общие вопросы Delphi 15 23.01.2007 14:00