Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Und wie bringt man jetzt die anderen Komponenten aufs Form? (https://www.delphipraxis.net/2123-und-wie-bringt-man-jetzt-die-anderen-komponenten-aufs-form.html)

Bee 7. Jan 2003 22:00


Und wie bringt man jetzt die anderen Komponenten aufs Form?
 
Hi Nailor, Hi Christian, Hi an alle,

Nun erstmal Danke an euch zwei Ihr habt mir bis jetzt sehr geholfen. Nun taucht aber die nächste Frage auf wenn ich nun auf das dynamich generierte Form z.b einen Button setzten möchte oder irgendeine andere Komponente wie muss ich das dann definieren, es muss ja ein Bezug zum neuen generierten Formular hergestellt werden ich hab das jetzt mal so gemacht.

Deklaration:
Code:
var
  Form1: TForm1;
  Window: TForm;
  Switch: TButton;
  Fixlib: TFixlib;
Dann der Aufruf:
Code:
 procedure TForm1.Button1Click(Sender: TObject);
 begin
  Window := TForm.Create(self);
  Window.Visible := true;
  Window.Width := 300;
  Window.Height:= 500;
  Window.Caption:= 'Fixture Library Editor - Manufacturere';
  Switch := TButton.Create(Window);
  Switch.Visible := true;
  Switch.Caption := 'Add Manufacturere';
  Switch.Width := 114;
  Switch.Height:= 58;
  Switch.Left:= 8;
  Switch.Top:= 8;
 end;
Delphi kompiliert das zwar ohne zu meckern aber auf dem generierten Form wird nix angezeigt. Und wo müsste ich den Quellcode hinsetzen um z.b. auf das Klicken auf den Button auf dem generierten Form zu reagiern.

Danke schonmal im vorraus, ich hoffe ich nerve nicht mit meinen Fragen

Bee

Christian Seehase 7. Jan 2003 22:21

Moin Bee,

damit Du den Button auch siehst, musst Du noch die Eigenschaft Parent setzen.

Delphi-Quellcode:
  Switch.Parent := Window;
Die Routine für das anklicken des Buttons kann dann mit in das Hauptformular aufgenommen werden.

Delphi-Quellcode:
type
  TForm1 = class(TForm)
    procedure Button1Click(Sender: TObject); // Die ursprüngliche Prozedur
    procedure ButtonClick(Sender: TObject); // Manuell hinzugefügt
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

// ....

implementation

// Die neue Routine
procedure TfrmMAIN.ButtonClick(Sender: TObject);
begin
  ShowMessage('Klick');
end;

Dann noch dem OnClick des Buttons die Routine zuweisen:

Delphi-Quellcode:
  Switch.OnClick := ButtonClick;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz