自己对DELPHI学习的一点体会

源代码在线查看: 如何动态生成控件? (2001年1月6日).txt

软件大小: 771 K
上传用户: pipinooad
关键词: DELPHI
下载地址: 免注册下载 普通下载 VIP

相关代码

				如何动态生成控件? (2001年1月6日) 
				
				本站更新  分类:   作者:赵亦平  推荐:   阅读次数:375  
				(http://www.codesky.net)  
				
				--------------------------------------------------------------------------------
				
				下面以动态生成一个按钮为例:
				procedure TForm1.Button1Click(Sender: TObject);
				var
				btn:TButton;
				begin
				btn:=TButton.Create(Self);
				btn.Parent:=Self;
				btn.Top:=100;
				btn.Left:=100;
				btn.Width:=80;
				btn.Height:=30;
				btn.Caption:='New';
				end;
				
				首先要声明一个TButton的变量,然后再调用Create过程,接着设置
				它的一些属性就行了,其中最重要的是Parent属性,如果不设置,
				将无法显示。如果动态生成的控件是不可视的,则不需Parent属性。
				
				如果是在编写控件时要动态生成控件,则情况又稍有不同,Parent
				是TWinControl类型,在上例中,btn的Parent设为Self,这个Self指的
				是Form1,而TForm是TWinControl的子孙类,因此是正确的,如果
				你编写的控件并不是继承自TWinControl类,则不能将要动态生成
				的控件的Parent属性设为Self,可以(我没有用“必须”这个词)设
				成Self.Parent,但还有一点要注意的是,给Parent属性赋值并不能在
				控件的Create过程中实现,因为此时控件的Parent还没有被赋值,所
				应该在控件的Loaded过程中实现。
				
				
				赵亦平
				1999.6.9
				 
				 
							

相关资源