Création et enregistrement du composant (Grille)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Personnalisation d'une grille - Index

La création d'un composant se fait toujours de la même façon : vous créez une unité et vous enregistrez le composant avant de l'installer dans la palette d'outils. Voir Création d'un nouveau composant.

Pour notre exemple, suivez la procédure générale de création d'un composant en tenant compte des spécificités suivantes :

  1. Enregistrez l'unité du composant sous CalSamp.
  2. Dérivez un nouveau type de composant appelé TSampleCalendar, descendant de TCustomGrid.
  3. Enregistrez TSampleCalendar dans la catégorie Exemples de la palette d'outils.

L'unité résultante dérivée de TCustomGrid dans une application VCL doit ressembler à ceci :

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('Samples', [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("Samples", classes, 0); //Use a different page in VCL applications
  }
}
#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

Si vous installez le composant calendrier maintenant, vous verrez qu'il apparaît sur la catégorie Exemples. Les seules propriétés disponibles sont les propriétés de contrôle les plus basiques. L'étape suivante consiste à rendre disponible certaines des propriétés plus spécialisées aux utilisateurs du calendrier.

Remarque :  Bien que vous puissiez installer le composant calendrier exemple que vous venez de compiler, n'essayez pas de le placer tout de suite sur une fiche. Le composant TCustomGrid contient une méthode DrawCell abstraite qui doit être redéclarée avant que les objets d'instance puissent être créés. La redéfinition de la méthode DrawCell est décrite dans Remplissage des cellules.

Voir aussi