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

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

Компоненты в run-time [D6, D7, WinME, WinXP]


Страницы:   1 2

pOLyMOrpH ©   (2005-08-04 02:03:00) 

доброго времени суток! ситуация следующая: в run-time нужно создать TPanel и  TButton (родитель - созданный TPanel). По нажатию на созданный TButton оба компонента должны уничтожиться.
Жду ваших предложений.


pOLyMOrpH   (2005-08-04 04:22:00) [21]

у меня еще один вопрос к уважаемым мастерам:
пример
...
type
  Tmyclass1 = class(TcustomControl)
     private
         ...
     public
        constructor Create(AOwner: TComponent); override;
        ...
  end;

  Tmyclass2 = class(TcustomControl)
     private
         ...
     public
        constructor Create(AOwner: TComponent); override;
        ...
  end;

...

{ можно ли сделать так: ?}

constructor Tmyclass1.Create(AOwner: TComponent);
var
  my:Tmyclass2;
begin
  inherited Create(AOwner);
  ...
 
  my := Tmyclass2.Create(nil);
  with my do
     begin
         ...
         ...
         Parent :=  ...  тоже не знаю как сделать чтоб родителем был создаваемый                    
                              компонент класса Tmyclass1 ...
     end;

end;

Если написанный выше код не является полнейшим бредом (я не силен в ооп) то мне необходимы ваши советы по его реализации.


pOLyMOrpH   (2005-08-04 04:05:00) [22]

огромнейшее спасибо.


Джо   (2005-08-04 02:39:00) [23]


> pOLyMOrpH ©   (04.08.05 02:03)

Пустая форма с кодом:

unit Unit1;

interface

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

const
 WM_DESTROY_CONTROLS = WM_USER + 2005;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   FBtn: TButton;
   FPanel: TPanel;
   procedure OnBtnClick(Sender: TObject);
   procedure CreateControls;
   procedure WmDestroyControls (var Message: TMessage);
     message WM_DESTROY_CONTROLS;
 public
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CreateControls;
begin
 FPanel := TPanel.Create (Self);
 FPanel.Parent := Self;
 FBtn := TButton.Create(FPanel);
 FBtn.Parent := FPanel;
 FBtn.OnClick := OnBtnClick;
end;

procedure TForm1.OnBtnClick(Sender: TObject);
begin
 PostMessage (Handle,WM_DESTROY_CONTROLS,0,0)
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
 CreateControls
end;

procedure TForm1.WmDestroyControls(var Message: TMessage);
begin
 if Assigned(FPanel) then
   FreeAndNil (FPanel)
end;
end.


> Жду ваших предложений.

Не майся ерундой.


Страницы:   1 2

Наверх

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