変更されたコンポーネントの作成と登録

提供: RAD Studio
移動先: 案内検索

既存のコンポーネントの変更:インデックス への移動

すべてのコンポーネントを同じように作成します。 ユニットの作成、コンポーネント クラスの派生、登録、ツール パレットへのインストールを行います。 このプロセスの概要については、「新しいコンポーネントの作成」を参照してください。

たとえば、次の仕様に従って、コンポーネント作成の一般的な手順を実行します。

  • コンポーネントのユニットを Memos と呼びます。
  • TMemo から TWrapMemo という新しいコンポーネント タイプを派生させます。
  • ツール パレットの [Samples] ページに TWrapMemo を登録します。
  • その結果、ユニットは次のようになります。
 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 is used to assure that the components created do not have
 // any pure virtual functions.
 //
 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

ここで新しいコンポーネントをコンパイルしてインストールすると、その祖先である TMemo と全く同様に動作します。 次のセクションでは、コンポーネントに簡単な変更を加えます。