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('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.