如何才能在程序运行时得知我点击的控件名称(我只有这些分了)(80分)

  • 主题发起人 主题发起人 chenyushanshan0
  • 开始时间 开始时间
C

chenyushanshan0

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

interface

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

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

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var
mylabel:array of tlabel;
i:integer;
begin
setlength(mylabel,4);
for i:=1 to 3 do
begin
myLabel:=tLabel.Create(self);
mylabel.Parent:=form1;
mylabel.top:=i*60;
mylabel.left:=i*30;
mylabel.caption:='sdfasdeqwrfrtrt'+inttostr(i);
mylabel.OnClick := LabelClick;
end;
end;

procedure TForm1.LabelClick(Sender: TObject);
begin
//如何才能在程序运行时得知我点击的控件名称
{不能采用label的位置来判断}
end;

end.
 
procedure TForm1.LabelClick(Sender: TObject);
begin
//如何才能在程序运行时得知我点击的控件名称
{不能采用label的位置来判断}
with sender as tlabel do
showmessage(caption);
end;
 
点击控件的名称??什么意思
如果是要Label的名称那么 TLabel(Sender).Name 或者(Sender as TLabel).Name都可以
 
一般想要知道点击的对象,都是通过sender参数来传递的。
if sender is TLabel then
with sender as TLabel do
begin
showmessage(caption);
end;
 
谢谢各位!
 
后退
顶部