Einzelnen Beitrag anzeigen

Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: eine Komponente "erschaffen" (create)

  Alt 21. Okt 2004, 13:09
Hi malo!!!

Was du vorhast ist nicht unmöglich und es ist auch nicht sonderlich schwer!

Ich zeig es dir mal ganz kurz:

Das ist der ganze Quelltext:

Delphi-Quellcode:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
    Neubutton : TButton;
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
     Neubutton := TButton.Create(Form1);
     Neubutton.Width := 15;
     Neubutton.Height := 60;
     NeuButton.Parent := Form1;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     Neubutton.free;
end;

end.
Also: Du musst Delphi erst einmal den NeuButton bekannt machen. Es geht natürlich auch
jeder andere Name. Der ist vom Typ TButton.

Wenn du nun den schon erstellten Button, hier Button1, drückst, dann erstellt er den
"NeuButton".
Wichtig: 1. Du musst den Parent setzten, in diesem Fall Form1.
2. Du musst den NeuButton wieder freigeben, wenn die Anwendung geschlossen wird.

Ansonsten kannst du mit dem NeuButton machen, was du mit einem "normalen" Button
auch machen kannst. Du kannst im sogar eine Ereignisroutine hinzufügen. Aus Platzgründen
schreibe ich das aber nicht direkt hier rein. Schick mir doch einfach eine E-Mail.

Außerdem: du kannst theoretisch das ganze mit jeder Komponente machen. Dazu muss aber die Unit
der entsprechenden Unit eingebunden sein. Das passiert aber automatisch, wenn eine "feste" Komponente, die du nicht erst zur Laufzeit ertellt hast, auf dein Formular setzt.

So, ich denke, dass sollte dir bei deinem Problem helfen.

MFG Patti 8)
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat