我刚刚发现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;
答案 0 :(得分:2)
您可以使用类助手,如下所示:
type
TRibbonComboBoxHelper = class helper for TRibbonComboBox
public
function ItemIndex: integer;
end;
需要注意的是,您不能以这种方式添加任何新字段,因此您必须能够从TRibbonComboBox公开的信息中计算此函数的返回值。