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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2008, 00:44   #1
russianstrike
Пользователь
 
Аватар для russianstrike
 
Регистрация: 27.09.2008
Сообщений: 21
Вопрос динамический родитель динамического объекта

Подскажите как правильно
динамически создать компонент на ВТОРОЙ форме
на компоненте(например панель) который также создавался ДИНАМИЧЕСКИ но в первой форме?


xxx := XXXl.Create(????);
вот научусь......и тогда америкосам п.дец!!!!!!!!

и ваще.....дизайнер...я.......))))) ))))))))))
russianstrike вне форума Ответить с цитированием
Старый 02.10.2008, 14:55   #2
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от russianstrike Посмотреть сообщение
Подскажите как правильно
динамически создать компонент на ВТОРОЙ форме
на компоненте(например панель) который также создавался ДИНАМИЧЕСКИ но в первой форме?


xxx := XXXl.Create(????);
Определитесь когда и кто будет уничтожать этот объект. Вот этот объект и укажите. т.е. если объект будет принадлежать form2, то Create(Form2)
alexBlack вне форума Ответить с цитированием
Старый 02.10.2008, 19:13   #3
russianstrike
Пользователь
 
Аватар для russianstrike
 
Регистрация: 27.09.2008
Сообщений: 21
По умолчанию

Это понятно.....а как чтобы родителем была панель на форме 2???
тоесть чтобы на ней компонент размещался??? а не на форме 2?


если в первой форме она никак не определена?
а на второй ее вообще нет пока???
вот научусь......и тогда америкосам п.дец!!!!!!!!

и ваще.....дизайнер...я.......))))) ))))))))))
russianstrike вне форума Ответить с цитированием
Старый 02.10.2008, 19:24   #4
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Цитата:
Сообщение от russianstrike Посмотреть сообщение
Это понятно.....а как чтобы родителем была панель на форме 2???
тоесть чтобы на ней компонент размещался??? а не на форме 2?
если в первой форме она никак не определена?
а на второй ее вообще нет пока???
А вот это:

Цитата:
...на компоненте(например панель) который также создавался ДИНАМИЧЕСКИ но в первой форме
то есть где то есть панель:

Код:
procedure TForm4.FormCreate(Sender: TObject);
var P:TPanel;
    B:TButton;
begin
    P := TPanel.Create(Self);
    P.Parent := Self;           // панель на форме

    B := TButton.Create(Self);
    B.Parent := P;              // кнопка на панели
end;
Приведите лучше код с которым у Вас трудности
alexBlack вне форума Ответить с цитированием
Старый 02.10.2008, 20:25   #5
russianstrike
Пользователь
 
Аватар для russianstrike
 
Регистрация: 27.09.2008
Сообщений: 21
По умолчанию привожу код

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;

type
TForm1 = class(TForm)
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.Visible:=True;
end;

end.


unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;

type
TForm2 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form2: TForm2;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm2.BitBtn1Click(Sender: TObject);
var
T : TTabSheet;
P : TPageControl;
begin
P := TPageControl.Create(Form1);
with P do begin
Parent := Form1;
Top := 50;
Left := 10;
Width := 300;
Height := 300;
end;
T := TTabSheet.Create(P);
with T do begin
Visible := True;
Caption:='Уровень 1';
PageControl := P;
end;
end;


procedure TForm2.BitBtn2Click(Sender: TObject);
var
T : TTabSheet;
P : TPageControl;
begin
P := TPageControl.Create(??????);//Здесь что писать чтобы второй PageControl появился не на Form1,а на закладке 'Уровень 1'
with P do begin
Parent := ????????;

Width := 270;
Height := 270;
end;
T := TTabSheet.Create(P);
with T do begin
Visible := True;
Caption:='Уровень 2';
PageControl := P;
end;
end;

end.
вот научусь......и тогда америкосам п.дец!!!!!!!!

и ваще.....дизайнер...я.......))))) ))))))))))
russianstrike вне форума Ответить с цитированием
Старый 02.10.2008, 21:22   #6
alexBlack
Участник клуба
 
Регистрация: 12.10.2007
Сообщений: 1,204
По умолчанию

Вот так:

Код:
type
  TForm2 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    PageControl1: TPageControl;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    _TabSheet : TTabSheet;  // !!!
  public
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

uses Unit1;

procedure TForm2.Button1Click(Sender: TObject);
var P : TPageControl;
begin
   P := TPageControl.Create(Form1);
   with P do begin
     Parent := Form1;
     Top := 50;
     Left := 10;
     Width := 300;
     Height := 300;
   end;
   _TabSheet := TTabSheet.Create(P);
   with _TabSheet do begin
     Visible := True;
     Caption:='Уровень 1';
     PageControl := P;
   end;
end;

procedure TForm2.Button2Click(Sender: TObject);
var T : TTabSheet;
P : TPageControl;
begin
   P := TPageControl.Create(Form1);
   with P do begin
      Parent := _TabSheet;
      Width := 270;
      Height := 270;
   end;
   T := TTabSheet.Create(P);
   with T do begin
     Visible := True;
     Caption:='Уровень 2';
     PageControl := P;
   end;
end;
alexBlack вне форума Ответить с цитированием
Старый 03.10.2008, 22:07   #7
russianstrike
Пользователь
 
Аватар для russianstrike
 
Регистрация: 27.09.2008
Сообщений: 21
По умолчанию

спс !!!!!!!!!!!!!!
тема закрыта!!!!

<>
вот научусь......и тогда америкосам п.дец!!!!!!!!

и ваще.....дизайнер...я.......))))) ))))))))))
russianstrike вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удаление элемента динамического массива Dogmat Помощь студентам 6 13.07.2008 14:33
Удаление записи из динамического масива... Altera Общие вопросы Delphi 4 09.06.2008 09:15
СОХРАНИЯ В ФАЙЛ ДВУМЕРНОГО ДИНАМИЧЕСКОГО МАСИВА!!!! _FL@ER_ Помощь студентам 2 23.06.2007 16:31
Заполнение динамического списка из файла KORT Помощь студентам 2 01.05.2007 22:28