delphi - 如何在 C++ 构建器中实现 Delphi protected 成员访问技巧?

标签 delphi c++builder c++builder-10.2-tokyo

我需要访问 protected TControlItem.InternalSetLocation。我德尔福你会做

type
  THackControlItem = class(TControlItem);

如何在 C++ Builder 中执行此操作?

最佳答案

与在 Delphi 中一样,您需要继承该类,但也需要重写并公开 protected 函数。但是,我不建议在生产代码中使用它。

class THackControlItem : public TControlItem
{
public:
    void __fastcall InternalSetLocation(int AColumn, int ARow, bool APushed, bool MoveExisting)
    {
        TControlItem::InternalSetLocation(AColumn, ARow, APushed, MoveExisting);
    }
};

在程序中

TControlItem* ci = ...;
static_cast<THackControlItem*>(ci)->InternalSetLocation(...);

关于delphi - 如何在 C++ 构建器中实现 Delphi protected 成员访问技巧?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53408720/

相关文章:

c++builder - 如何设置 TDirect2DCanvas.Pen.StrokeStyle?

c++ - 使用 C++ 生成器获取 swf 文件的帧速率

c++ - 将 TIdCmdTCPServer 用于二进制数据?

c++ - 如何在 TStringGrid 单元格中绘制按钮

java - 将delphi二进制操作函数移植到java

c++ - 无形式或非形式单元的函数返回值

delphi - Delphi XE5可以为Windows 8生成应用程序吗?

delphi - 重置 rad studio 设置而不卸载它

Delphi:什么是 Application.Handle?