Die Komponente (Dialogfeld) erstellen und registrieren
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('Samples', [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("Samples", 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.