在TListView中使用按钮

在TListView中使用按钮,listview,delphi,button,firemonkey,delphi-10.1-berlin,Listview,Delphi,Button,Firemonkey,Delphi 10.1 Berlin,我在表单中创建了一个TListView,将项目外观更改为动态外观。在结构上,我选择了ListView1>ItemAppearance>Item>AddNew…>并选择了TTextButtonObjectAppearance 好的,现在我想知道如何在此按钮中设置OnClick事件,因为当我双击“代码选项卡”时,不会打开,并且对象检查器中的事件选项卡没有任何选择。将按钮的外观对象名设置为删除和编辑 procedure TForm2.ListView1ButtonClick(const Sender:

我在表单中创建了一个TListView,将项目外观更改为动态外观。在结构上,我选择了ListView1>ItemAppearance>Item>AddNew…>并选择了TTextButtonObjectAppearance


好的,现在我想知道如何在此按钮中设置OnClick事件,因为当我双击“代码选项卡”时,不会打开,并且对象检查器中的事件选项卡没有任何选择。

将按钮的外观对象名设置为删除和编辑

procedure TForm2.ListView1ButtonClick(const Sender: TObject;
  const AItem: TListItem; const AObject: TListItemSimpleControl);
begin
  if AObject.name = 'Delete' then
    showmessage('Delete')
  else if AObject.Name = 'Edit' then
    showmessage('Edit');
end;

设置要删除和编辑的按钮的外观对象名称

procedure TForm2.ListView1ButtonClick(const Sender: TObject;
  const AItem: TListItem; const AObject: TListItemSimpleControl);
begin
  if AObject.name = 'Delete' then
    showmessage('Delete')
  else if AObject.Name = 'Edit' then
    showmessage('Edit');
end;
填充列表视图

  with ListView1.Items.Add do
  begin
    Text := 'Item';
    Data['dateUpdate'] := '09.05.2017';
  end;
麦克利克斯事件

procedure TForm1.ListView1ItemClickEx(const Sender: TObject; ItemIndex: Integer; const LocalClickPos: TPointF;
  const ItemObject: TListItemDrawable);
begin
  if ItemObject.Name.Equals('dateUpdate') then
    ShowMessage('AppearenceObjectName = "dateUpdate"');
end;
填充列表视图

  with ListView1.Items.Add do
  begin
    Text := 'Item';
    Data['dateUpdate'] := '09.05.2017';
  end;
麦克利克斯事件

procedure TForm1.ListView1ItemClickEx(const Sender: TObject; ItemIndex: Integer; const LocalClickPos: TPointF;
  const ItemObject: TListItemDrawable);
begin
  if ItemObject.Name.Equals('dateUpdate') then
    ShowMessage('AppearenceObjectName = "dateUpdate"');
end;

谢谢你帮助我。我将此代码放在listView的“OnButtonClick”事件中。当我单击按钮(编辑按钮,而不是listView项)时,问题就出现了。按钮上似乎没有碰撞器,单击“忽略hiim”并转到项目(从列表视图)。是否更改了按钮的外观对象名称?我想我无法在Inspector上执行此操作。但是我想知道如何实现这一点,只需验证按钮的名称并基于此信息调用rigth方法。谢谢你的帮助!谢谢你帮助我。我将此代码放在listView的“OnButtonClick”事件中。当我单击按钮(编辑按钮,而不是listView项)时,问题就出现了。按钮上似乎没有碰撞器,单击“忽略hiim”并转到项目(从列表视图)。是否更改了按钮的外观对象名称?我想我无法在Inspector上执行此操作。但是我想知道如何实现这一点,只需验证按钮的名称并基于此信息调用rigth方法。谢谢你的帮助!