7

我是一个新手程序员。我需要in像这样在 C++ Builder XE 中使用 Delphi 的运算符:

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

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

提前致谢。

4

2 回答 2

12

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

if( DBGrid->Options.Contains(dgColLines) )
  TotalColumnWidth = TotalColumnWidth + ColumnCount;
于 2013-02-11T10:50:54.270 回答
9

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

typedef System::Set<TDBGridOption, TDBGridOption::dgEditing,
    TDBGridOption::dgTitleHotTrack> TDBGridOptions;

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

使用内置 Delphi 集合运算符的所有可用功能都通过Set. 具体到这个问题,集合成员资格正在测试使用Contains().

于 2013-02-11T11:01:42.320 回答