如何在C++ Builder中使用Delphi"in"运算符

And*_*eda 7 delphi c++builder set c++builder-xe

我是新手程序员.我需要in在C++ Builder XE中使用Delphi的运算符,如下所示:

if (dgColLines in DBGrid->Options)
    // include vertical lines in total (one per column)
    TotalColumnWidth = TotalColumnWidth + ColumnCount;
Run Code Online (Sandbox Code Playgroud)
if (dgColLines **in** DBGrid->Options)
Run Code Online (Sandbox Code Playgroud)

如何在C++ Builder中做到这一点?

提前致谢.

TLa*_*ama 12

使用该Contains方法检查集合是否包含特定元素:

if( DBGrid->Options.Contains(dgColLines) )
  TotalColumnWidth = TotalColumnWidth + ColumnCount;
Run Code Online (Sandbox Code Playgroud)


Dav*_*nan 9

查看有问题的属性TDBGrid.Options,其类型TDBGridOptions定义为:

typedef System::Set<TDBGridOption, TDBGridOption::dgEditing,
    TDBGridOption::dgTitleHotTrack> TDBGridOptions;
Run Code Online (Sandbox Code Playgroud)

如您所见,C++ Builder使用模板System::Set<T, minEl, maxEl>来模拟Delphi集类型.

所有的功能可使用内置的德尔福集运营商通过暴露的方法Set.具体到这个问题,设置成员资格正在测试使用Contains().