如何将ItemIndex添加到TRibbonComboBox?

时间:2009-09-07 18:25:33

标签: delphi delphi-2009 delphi-2010 ribbon

我刚刚发现Delphi TRibbonComboBox没有项目索引,它应该。

我想在本地解决这个问题,至少对于单位而言,我认为Delphi 2009增加了一种方法,可以将新方法引入外部课程,而不必从课堂上下来,但我不记得如何。< / p>

有没有办法添加'function ItemIndex:integer;'至少在本地单元内的TRibbonComboBox类中不必弄乱原始组件? (或者我在想C#?)

谢谢!

这是答案/实施,梅森!

TRibbonComboBoxHelper = class helper for TRibbonComboBox
public
  function GetItemIndex: integer;
  procedure SetItemIndex(Index : integer);
  property ItemIndex : integer read GetItemIndex write SetItemIndex;
end;

function TRibbonComboBoxHelper.GetItemIndex: integer;
begin
  result := Items.IndexOf(Text);
end;

procedure TRibbonComboBoxHelper.SetItemIndex(Index: integer);
begin
  if (Index >= 0) and (Index < Items.Count) then
    Text := Items[Index];
end;

1 个答案:

答案 0 :(得分:2)

您可以使用类助手,如下所示:

type
  TRibbonComboBoxHelper = class helper for TRibbonComboBox
  public
    function ItemIndex: integer;
  end;

需要注意的是,您不能以这种方式添加任何新字段,因此您必须能够从TRibbonComboBox公开的信息中计算此函数的返回值。

相关问题