将 pascal 翻译成 c++
translate pascal to c++
以下代码在 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"。
好的,看起来很简单:
if (ItemObject->Name == "I") {
ShowMessage("Item Image clicked");
}
if (ItemObject->Name == "T") {
ShowMessage("Item Text clicked");
}
if (ItemObject->Name == "A") {
ShowMessage("Item Accessory clicked");
}
这适用于 iOS 以及 Win。
相当于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");
}
以下代码在 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"。
好的,看起来很简单:
if (ItemObject->Name == "I") {
ShowMessage("Item Image clicked");
}
if (ItemObject->Name == "T") {
ShowMessage("Item Text clicked");
}
if (ItemObject->Name == "A") {
ShowMessage("Item Accessory clicked");
}
这适用于 iOS 以及 Win。
相当于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");
}