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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2011, 13:35   #1
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию MDI приложение и PageControl

Здравствуйте)

Возникла следующая проблема:
В MDI приложении создавая новую вкладку компонента PageControl (во время выполнения программы) нужно что бы в области этой вкладки размещалась заранее созданная форма. У меня получается совсем не то что нужно: создается вкладка, а в форма размещается не на ней а на самой родительской форме.

Подскажите как можно это правильно реализовать...
Код:
procedure TForm1.N7Click(Sender: TObject);
var  tab : TsTabSheet; 
     f:tform;
begin
 tab:=TsTabSheet.Create(self); 
 tab.PageControl:=PageControl1;
 tab.Caption:='Name'; 

  f:=tform2.Create(tab);
  tab.CreateParentedControl(f.Handle);
  pagecontrol1.ActivePage := tab;
end;
Unique_Maks вне форума Ответить с цитированием
Старый 25.09.2011, 14:18   #2
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var  f:tform;
begin
  f:=tform2.Create(tab);
  f.Left:=0; f.Top:=0; // КЛЮЧЕВАЯ СТРОКА
  f.Parent:=tab;
 // tab.CreateParentedControl(f.Handle);
  pagecontrol1.ActivePage := tab;
  f.Visible:=true;
end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 25.09.2011, 14:43   #3
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию

Все равно работает так как и было, т.е. форма не привязывается к вкладке, форма form2 размещается чисто на родительской форме не касаясь pagecontrol.
Код:
  f:=tform2.Create(tab); //при создании формы она размещается сразу на родительскую 
  f.Left:=0; f.Top:=0; // КЛЮЧЕВАЯ СТРОКА
  f.Parent:=tab; //присвоение родителя ниче не даёт, так как уже форма создалась и разместилась в область родителя form1
Сдесь листинг всего прог кода:
Код:
procedure TForm1.N7Click(Sender: TObject);
var  tab : TsTabSheet; 
     f:tform;
begin
 tab:=TsTabSheet.Create(self); 
 tab.PageControl:=PageControl1;
 tab.Caption:='Name';

  f:=tform2.Create(tab);
  f.Left:=0; f.Top:=0; 
  f.Parent:=tab;
  //tab.CreateParentedControl(f.Handle);
  pagecontrol1.ActivePage := tab;
  f.Visible:=true;
end;
Unique_Maks вне форума Ответить с цитированием
Старый 25.09.2011, 14:47   #4
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

код http://www.programmersforum.ru/attac...1&d=1316947627 Делфи 7, ОС Венда ХП
настоятельно рекоментую пероесмотреть тип, стиль, и статус создаваемой, второй формы
Вложения
Тип файла: zip pack.zip (231.7 Кб, 46 просмотров)
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 25.09.2011, 15:16   #5
Unique_Maks
Пользователь
 
Регистрация: 07.06.2010
Сообщений: 89
По умолчанию

JUDAS спасибо) получилось, но пришлось изменить некоторые параметры
Unique_Maks вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PageControl как панель кнопок открытых окон в MDI приложении Vit@L Общие вопросы Delphi 10 22.12.2009 13:50
mdi приложение Михаил Юрьевич Общие вопросы Delphi 1 21.09.2009 01:01
MDI-приложение Технолог Общие вопросы Delphi 6 02.05.2008 20:10
MDI приложения и PageControl.... maLoy*508 Общие вопросы Delphi 2 04.04.2008 02:28
MDI приложение Arsgun Общие вопросы Delphi 4 29.05.2007 12:36