Die Komponente (Gitter) erstellen und registrieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Gitter anpassen - Index

Alle Komponenten werden nach dem gleichen Prinzip erstellt: Sie erzeugen eine Unit, leiten eine Komponentenklasse ab, registrieren sie, compilieren die Unit und installieren die Komponente in der Tool-Palette. Siehe Eine neue Komponenten erzeugen.

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

  1. Eine Komponenten-Unit unter dem Namen CalSamp speichern.
  2. Leiten Sie von TCustomGrid einen neuen Komponententyp mit der Bezeichnung TSampleCalendar ab.
  3. Registrieren Sie TSampleCalendar in der Kategorie Beispiele der Tool-Palette.

Die von TCustomGrid in einer VCL-Anwendung abgeleitete Unit sollte folgendermaßen aussehen:

unit CalSamp;

interface

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

type
  TSampleCalendar = class(TCustomGrid)
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Beispiele', [TSampleCalendar]);
end;

end.
#include <vcl\vcl.h>
#pragma hdrstop
#include "CalSamp.h"
//---------------------------------------------------------------------------
#pragma package(smart_init);
//---------------------------------------------------------------------------
static inline TSampleCalendar *ValidCtrCheck()
{
  return new TSampleCalendar(NULL);
}
//---------------------------------------------------------------------------
namespace Calsamp
{
  void __fastcall PACKAGE Register()
  {
    TComponentClass classes[1] = {__classid(TSampleCalendar)};
    RegisterComponents("Beispiele", classes, 0); //In CLX-Anwendungen eine andere Seite verwenden
  }
}
#ifndef CalSampH
#define CalSampH
//---------------------------------------------------------------------------
#include <vcl\sysutils.hpp>
#include <vcl\controls.hpp>
#include <vcl\classes.hpp>
#include <vcl\forms.hpp>
#include <vcl\grids.hpp>
//---------------------------------------------------------------------------
class PACKAGE TSampleCalendar : public TCustomGrid
{
  private:
  protected:
  public:
  __published:
};
//---------------------------------------------------------------------------
#endif

Wenn Sie die Kalenderkomponente jetzt installieren, wird sie in die Kategorie Beispiele angezeigt. Momentan sind nur grundlegende Eigenschaften verfügbar. Der nächste Schritt besteht darin, den Benutzern des Kalenders speziellere Eigenschaften zur Verfügung zu stellen.

Hinweis: Obwohl die soeben compilierte Kalenderkomponente bereits installiert werden kann, sollten Sie noch nicht versuchen, sie in einem Formular zu platzieren. Zur Komponente TCustomGrid gehört nämlich die abstrakte Methode DrawCell, die redeklariert werden muss, bevor Instanzen der Klasse erzeugt werden. Das Überschreiben der Methode DrawCell wird unter Die Zellen füllen beschrieben.

Siehe auch