在DELPHI中我们经常要动态的创建控件以及控件的事件。例如,我们可能想根据程序需要动态的创建一些Tshape组件来创建某个图形,并使得在鼠标移动上去之后可以完成某些操作。这一般需要需要三步:
- 生成一个制定组件类的实例
- 为这个实例付初值
- 在使用完毕后,释放资源
下面将通过一个例子来演示,例子的功能是动态创建一个Tshape的实例MyShape,并且在鼠标移动到MyShape后窗体的标题栏,显示鼠标的座标。
第一步:新建立一个工程,工程上主窗体上放一个按钮BitBtn1,并在代码文件的uses内添加ExtCtrls。
第二步:在按钮的OnClick事件中写
procedure TForm1.BitBtn1Click(Sender: TObject);
var
myShape : TShape;
begin
myShape := TShape.Create(nil);
with myShape do
begin
Parent := Form1;//如果没有这句,新创建的myShape将不会显示在窗体上
Left := 100;//位置信息
Top := 100;
Width := 200;//大小信息
Height := 200;
end;
end;
第三步:这个时候编译程序,并执行,点击BitBtn1,