0

我使用德尔福 10.3.3。适用于 Android 应用程序。

在表单上,​​我有 X 个矩形对象。我有一个这样的问题:检测我按下的对象的最佳方法是什么?(例如,得到它的名字)

4

1 回答 1

1

为事件创建事件处理程序OnTap()

在 Object Inspector 中,将此事件处理程序分配给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;
于 2020-04-19T17:31:46.477 回答