Firemonkey - 对象检测
Firemonkey - Object detection
我使用 Delphi 10.3.3。对于 Android 个应用程序。
在表单上我有 X 个矩形对象。我有这样一个问题:
检测我按了谁的最佳方法是什么?
(例如,获取它的名字)
为 OnTap()
事件创建事件处理程序。
在对象检查器中,将此事件处理程序分配给所有矩形的 OnTap
事件。
使用 Sender
参数,您可以找到触发事件的矩形并找到它的名称。例如。
procedure TForm1.Rectangle1Tap(Sender: TObject; const Point: TPointF);
begin
ShowMessage((Sender as TControl).Name);
end;
创建 TRectangle
个实例并分配事件的示例过程
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
rect: TRectangle;
begin
for i := 0 to 5 do
begin
rect:= TRectangle.Create(Form1);
rect.Parent := Form1;
rect.Position.Point := PointF(10 + i * 75, 10);
rect.Name := 'Rectangle'+IntToStr(i);
rect.OnTap := Rectangle1Tap;
end;
end;
我使用 Delphi 10.3.3。对于 Android 个应用程序。
在表单上我有 X 个矩形对象。我有这样一个问题: 检测我按了谁的最佳方法是什么? (例如,获取它的名字)
为 OnTap()
事件创建事件处理程序。
在对象检查器中,将此事件处理程序分配给所有矩形的 OnTap
事件。
使用 Sender
参数,您可以找到触发事件的矩形并找到它的名称。例如。
procedure TForm1.Rectangle1Tap(Sender: TObject; const Point: TPointF);
begin
ShowMessage((Sender as TControl).Name);
end;
创建 TRectangle
个实例并分配事件的示例过程
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
rect: TRectangle;
begin
for i := 0 to 5 do
begin
rect:= TRectangle.Create(Form1);
rect.Parent := Form1;
rect.Position.Point := PointF(10 + i * 75, 10);
rect.Name := 'Rectangle'+IntToStr(i);
rect.OnTap := Rectangle1Tap;
end;
end;