将pascal转换为c ++

时间:2018-04-15 01:24:45

标签: firemonkey c++builder-10.2-tokyo

以下代码在firemonkey ListView的ItemClickEx事件中运行。我想知道如何用C ++做到这一点。

procedure TfrmCategory.lstListCategoryItemClickEx(const Sender: TObject; 
                         ItemIndex: Integer; const LocalClickPos: TPointF;
    const ItemObject: TListItemObject);

begin
    if ItemObject is TListItemAccessory then
     begin
      ShowMessage('Acessory clicked');
     end;

end;

来源:link here.

我不知道如何在c ++中执行“if ItemObject is TListItemAccessory”。

2 个答案:

答案 0 :(得分:1)

与Delphi的is运算符等效的C ++是dynamic_cast,例如:

void __fastcall  TfrmCategory::lstListCategoryItemClickEx(const TObject *Sender,
    int ItemIndex, const TPointF &LocalClickPos, const TListItemObject* ItemObject)
{
    if (dynamic_cast<const TListItemAccessory*>(ItemObject))
        ShowMessage(L"Acessory clicked");
}

答案 1 :(得分:0)

好的,看起来很简单:

Select

这适用于iOS和Win。