Création et enregistrement du composant modifié

De RAD Studio
Aller à : navigation, rechercher

Remonter à Modification d'un composant existant - Index

La création d'un composant se fait toujours de la même façon : vous créez une unité, puis dérivez et enregistrez une classe composant avant de l'installer dans la palette d'outils. Ce processus est décrit dans 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 :

  • Nommez l'unité du composant Memos.
  • Dérivez un nouveau type de composant appelé TWrapMemo, descendant de TMemo.
  • Enregistrez TWrapMemo dans la catégorie Exemples de la palette d'outils.
  • L'unité que vous obtenez doit ressembler à ceci :
unit Memos;

interface

uses
  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, StdCtrls;

type
  TWrapMemo = class(TMemo)
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Samples', [TWrapMemo]);
end;

end.
#include <vcl.h>
#pragma hdrstop
#include "Yelmemo.h"
//---------------------------------------------------------------------------
#pragma package(smart_init);
//---------------------------------------------------------------------------
// ValidCtrCheck permet de vérifier que les composants créés ne comportent pas
// de fonctions virtuelles pures.
//
static inline void ValidCtrCheck(TYellowMemo *)
{
  new TYellowMemo(NULL);
}
//---------------------------------------------------------------------------
__fastcall TYellowMemo::TYellowMemo(TComponent* Owner)
: TMemo(Owner)
{
}
//---------------------------------------------------------------------------
namespace Yelmemo
{
  void __fastcall PACKAGE Register()
  {
    TComponentClass classes[1] = {__classid(TYellowMemo)};
    RegisterComponents("Samples", classes, 0); 
  }
}
#ifndef YelMemoH
#define YelmemoH
//---------------------------------------------------------------------------
#include <sysutils.hpp>
#include <controls.hpp>
#include <classes.hpp>
#include <forms.hpp>
#include <StdCtrls.hpp>
//---------------------------------------------------------------------------
class PACKAGE TYellowMemo : public TMemo
{
  private:
  protected:
  public:
  __published:
};
//---------------------------------------------------------------------------
#endif

Si vous compilez et installez maintenant le nouveau composant, il se comportera exactement comme son ancêtre, TMemo. Dans la section suivante, vous effectuerez une simple modification à votre composant.