Implementieren des OnCreate-Ereignisses für ein Delphi-TFrame-Objekt

TFrame ist ein Container für Komponenten. Es kann in Formularen oder anderen Frames verschachtelt sein.

Ein Rahmen ist wie ein Formular ein Container für andere Komponenten. Rahmen können in Formularen oder anderen Rahmen verschachtelt und zur einfachen Wiederverwendung in der Komponentenpalette gespeichert werden.

OnCreate fehlt

Sobald Sie mit der Verwendung von Frames beginnen, werden Sie feststellen, dass es keine gibt OnCreate Ereignis, mit dem Sie Ihre Frames initialisieren können.

Kurz gesagt, der Grund dafür, dass ein Frame kein OnCreate-Ereignis hat, ist, dass kein guter Zeitpunkt zum Auslösen des Ereignisses vorliegt.

Jedoch von Überschreiben der Create-Methode Sie können das OnCreate-Ereignis nachahmen. Immerhin wird OnCreate for Forms am Ende des Erstellungskonstruktors ausgelöst. Das Überschreiben von Create for Frames hat also das Ereignis OnCreate.

Hier ist der Quellcode eines einfachen Frames, der eine öffentliche Eigenschaft verfügbar macht und den Erstellungskonstruktor überschreibt:

 Einheit WebNavigatorUnit;

Schnittstelle

 

 Verwendet

   Windows, Nachrichten, SysUtils, Varianten, Klassen,

   Grafiken, Steuerelemente, Formulare, Dialoge, StdCtrls;

 

 Art

   TWebNavigatorFrame = Klasse(TFrame)

    urlEdit: TEdit;
  
Privat

     FURL: Zeichenfolge;

    
Verfahren SetURL (const Wert: Zeichenfolge);

  
Öffentlichkeit

     Konstrukteur Create (AOwner: TComponent); überschreiben;

  
veröffentlicht

     Eigentum URL: Zeichenfolge gelesen FURL schreiben SetURL;

  
Ende;

Implementierung$ R * .dfm

 

 Konstrukteur TWebNavigatorFrame.Create (AOwner: TComponent);

Start

   vererbt Create (AOwner);

 
 // Code "OnCreate"

   URL: = 'http://delphi.about.com';

 Ende;

Verfahren TWebNavigatorFrame.SetURL (const Wert: Zeichenfolge);

Start

   FURL: = Wert;

   urlEdit.Text: = Value;

 Ende;

Ende.

Der "WebNavigatorFrame" fungiert als Website-Starter, der eine Bearbeitung und ein Schaltflächensteuerelement hostet. Hinweis: Wenn Sie mit Frames noch nicht vertraut sind, lesen Sie unbedingt die folgenden beiden Artikel: Entwicklung visueller Komponenten mithilfe von Frames, Ersetzen von Tabsheets durch Frames.