Delphi中如何动态生成控件实例?
- 内容介绍
- 文章标签
- 相关推荐
本文共计377个文字,预计阅读时间需要2分钟。
动态创建控件+其实动态创建控件非常简单,相信看过本文后你会明白的。+1+首先在单元的Initialization部分注册它(这样在单元使用时就会自动注册),例如:RegisterClass(TButton);+
动态创建控件
其实动态创建控件很简单,相信看过本文后你会全明白的。
1 先在单元的initialization 部分注册它,(这样在单元使用时会自动注册的)如:
RegisterClass( TButton );
2 使用FindClass 或 GetClass函数取得类参考,如:
var MetaClass : TPersistentClass;
MetaClass := FindClass( ‘TForm2‘);
3 映射MetaClass为一般类型,否则你不能调用正确的constructor (因为你没指明所需参数)
var ComponentMetaClass : TComponentClass;
ComponentMetaClass := TComponentClass( MetaClass );
4 调用constructor
var AForm: TComponent;
AForm := ComponentMetaClass.Create( self );
5 AForm 现在成为一个有效的类实例,可以调用它的方法了。
本文共计377个文字,预计阅读时间需要2分钟。
动态创建控件+其实动态创建控件非常简单,相信看过本文后你会明白的。+1+首先在单元的Initialization部分注册它(这样在单元使用时就会自动注册),例如:RegisterClass(TButton);+
动态创建控件
其实动态创建控件很简单,相信看过本文后你会全明白的。
1 先在单元的initialization 部分注册它,(这样在单元使用时会自动注册的)如:
RegisterClass( TButton );
2 使用FindClass 或 GetClass函数取得类参考,如:
var MetaClass : TPersistentClass;
MetaClass := FindClass( ‘TForm2‘);
3 映射MetaClass为一般类型,否则你不能调用正确的constructor (因为你没指明所需参数)
var ComponentMetaClass : TComponentClass;
ComponentMetaClass := TComponentClass( MetaClass );
4 调用constructor
var AForm: TComponent;
AForm := ComponentMetaClass.Create( self );
5 AForm 现在成为一个有效的类实例,可以调用它的方法了。

