【问题标题】:Delphi firemonkey listboxitem with accessory - how to detect click on it?带附件的Delphi firemonkey listboxitem - 如何检测点击它?
【发布时间】:2017-11-17 09:27:37
【问题描述】:

我有一个包含各种项目的列表框。有些附有配件(更多和详细信息)。

我找不到检测附件何时被点击的方法,而不是列表框项目本身。我需要区分对 listboxitem 的点击和对其附件的点击,还是根本不支持?

【问题讨论】:

  • 我认为你需要给我们(至少我)一个具体的例子来理解你的问题。
  • @Dsm, a picture is worth a thousand words :) Softtouch,可以实现,只是,你想保持功能不变,只检测附件控制区域内的点击吗?我的意思是,您要保持选择配件所属的项目吗?或者您希望该对象的行为与它与项目分离时一样(如果您单击其区域,它不会选择该项目)?
  • 我需要对象的行为就像它与项目分开一样,因此用户可以单击列表框项进行操作,也可以单击附件进行其他操作。

标签: delphi listbox firemonkey


【解决方案1】:

您可以做的是在创建 ITEM 时创建一个过程并将其分配给 (OnClick) 事件:

var
BtnDelete : Tspeedbutton;      
begin
      BtnDelete := TSpeedbutton.Create(self);
      btndelete.Align := TAlignlayout(3);
      btndelete.OnClick := ProcDeleteRDV;
      Btndelete.StyleLookup := 'cleareditbutton';
      BtnDelete.Name :='RDV'+ vartostr(FieldValues['Num_rdv']);
      TlistBoxItem.AddObject(BtnDelete);
end;

在分配的过程中,我检索按钮名称,在我的情况下,该名称包含一个主键,当我想删除数据时将使用该主键:

var
 clickedbuttonname : string;
begin
 clickedbuttonname := TSpeedbutton(sender).Name;
 { Your other code here}
end;

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    • 1970-01-01
    相关资源
    最近更新 更多