Die Komponente (Gitter) erstellen und registrieren
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:
- Eine Komponenten-Unit unter dem Namen CalSamp speichern.
- Leiten Sie von TCustomGrid einen neuen Komponententyp mit der Bezeichnung TSampleCalendar ab.
- 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.