创建多个同样的控件后,怎么样得到其中某个控件的属性? (0分)

  • 主题发起人 主题发起人 稻草
  • 开始时间 开始时间

稻草

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure myclick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
var
lab:Tlabel;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer ;
begin
for i:=1 to 5 do
begin
lab:=Tlabel.Create(self);
lab.Parent:=form1;
lab.Name:='A'+inttostr(i);
lab.Caption:='abcd'+inttostr(i);
lab.Top:=60;
lab.Left:=i*90;
lab.OnClick:=myclick;
lab.Show;
end;
end;

procedure Tform1.myclick(Sender: TObject);
begin
showmessage(lab.Caption);
end;
end.

单击其中的一个label想显示它的caption,可是结果是最后的一个控件的caption
请问有什么办法???
 
lab: array[1..5]of TLabel;
 
能说的详细一点吗?
最好有代码~谢谢!
 
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure myclick(Sender: TObject);
private
lab: array[1..5]of TLabel;
....

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer ;
begin
for i:=1 to 5 do lab := TLabel.Create(self);
...

代码书写要注意规范。
 
问题是怎样获得其中一个lable的控件的caption
比如我点击第2个label,想在这个lable的事件中显示出它的caption
可是显示的是第5个lable的caption

谢谢!
 
问题自己解决
讨论结束 !谢谢!
 
后退
顶部