Die Komponente (Dialogfeld) erstellen und registrieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Dialogfelder als Komponenten - Index

Alle Komponenten werden nach dem gleichen Muster erstellt: Sie erzeugen eine Unit, leiten eine Komponentenklasse ab, registrieren sie, compilieren die Unit und installieren die Komponente in der Tool-Palette. Dieser Vorgang wird unter Eine neue Komponente erzeugen beschrieben.

Für das vorliegende Beispiel führen Sie die allgemeine Prozedur zum Erstellen einer Komponente aus, wobei folgende Schwerpunkte gesetzt werden:

  • Benennen Sie die Unit der Komponente AboutDlg.
  • Leiten Sie von TComponent den neuen Komponententyp TAboutBoxDlg ab.
  • Registrieren Sie TAboutBoxDlg in der Kategorie Beispiele der Tool-Palette.

Die daraus resultierende Unit sollte wie folgt aussehen:



 unit AboutDlg;
 interface
 uses
   SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls, Forms;
 type
   TAboutBoxDlg = class(TComponent)
   end;
 procedure Register;
 implementation
 procedure Register;
 begin
   RegisterComponents('Beispiele', [TAboutBoxDlg]);
 end;
 end.



 #include <vcl\vcl.h>
 #pragma hdrstop
 #include "AboutDlg.h"
 //---------------------------------------------------------------------------
 #pragma package(smart_init);
 //---------------------------------------------------------------------------
 static inline TAboutBoxDlg *ValidCtrCheck()
 {
   return new TAboutBoxDlg(NULL);
 }
 //---------------------------------------------------------------------------
 namespace AboutDlg {
 {
   void __fastcall PACKAGE Register()
   {
     TComponentClass classes[1] = {__classid(TAboutBoxDlg)};
     RegisterComponents("Beispiele", classes, 0);
   }
 }



 #ifndef AboutDlgH
 #define AboutDlgH
 //---------------------------------------------------------------------------
 #include <vcl\sysutils.hpp>
 #include <vcl\controls.hpp>
 #include <vcl\classes.hpp>
 #include <vcl\forms.hpp>
 //---------------------------------------------------------------------------
 class PACKAGE TAboutBoxDlg : public TComponent
 {
 private:
 protected:
 public:
 __published:
 };
 //---------------------------------------------------------------------------
 #endif



Die neue Komponente besitzt jetzt nur die Fähigkeiten, über die auch TComponent verfügt. Sie stellt die einfachste nicht-visuelle Komponente dar. Im nächsten Abschnitt werden Sie die Schnittstelle zwischen der Komponente und dem Dialogfeld erstellen.