デルファイ動的に作成されたコントロール

 

 動的にコントロールを作成します。

 

実際には、動的に非常に単純なコントロールを作成し、私はこの記事を読んだ後、あなたが全体を理解するだろうと信じています。

 

1として(自動的ユニットを使用するときに登録するように)、細胞の初期化部分をどのレジスタに:

 

RegisterClass(TButtonの)。

 

2又はような、参照クラスを得るために、関連項目FindClassのGetClass関数を使用:

 

VARメタクラス:TPersistentClass。 

メタクラス:= FindClassが( 'TForm2')。

 

3つのマップメタクラス一般的なタイプ、または(あなたが必要なパラメータを指定しなかったので)あなたは正しいコンストラクタを呼び出すことはできません

 

VAR ComponentMetaClass:TComponentClass。

ComponentMetaClass:= TComponentClass(メタクラス)。

 

 

4コールのコンストラクタ 

 

VAR AForm:TComponentは、

AForm:= ComponentMetaClass.Create(自己)。

 

5 AFormは今、クラスの有効なインスタンスは、それがメソッドを呼び出すことができます。

 

TFormは(AForm).SHOW。

 

若しくは

 

何らかの形だった:TFormはは。

SomeForm:= TFormは(AForm)。

SomeForm.Show;

 

完全な例:

 

手順TForm1.Button1Click(送信者:TObjectを); 

VARメタクラス:TPersistentClass。

ComponentMetaClass:TComponentClass。

AForm:TComponentは、

ベギン

  メタクラス:= FindClassが( 'TForm2')。

  ComponentMetaClass:= TComponentClass(メタクラス)。

  AForm:= ComponentMetaClass.Create(自己)。 

  TFormは(AForm).SHOW。

終わり;

 

若しくは

TFormTForm(TComponentClass(FindClassが( 'TForm2')).Create(自己))ショー。

 

 

おすすめ

転載: www.cnblogs.com/blogpro/p/11453415.html