首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Delphi编辑器中更改TCollectionItem的标签

在Delphi编辑器中更改TCollectionItem的标签
EN

Stack Overflow用户
提问于 2009-09-12 14:02:48
回答 2查看 651关注 0票数 4

我正在开发的一个组件使用TCollection来保存到其他组件的链接。在设计器中编辑项时,其标签如下所示:

代码语言:javascript
复制
0 - TComponentLink
1 - TComponentLink
2 - TComponentLink
3 - TComponentLink

如何添加有意义的标签(可能是链接组件的名称)?例如:

代码语言:javascript
复制
0 - UserList
1 - AnotherComponentName
2 - SomethingElse
3 - Whatever

另外,您能告诉我如何在双击组件时显示集合编辑器吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-10-12 10:20:27

要显示有意义的名称覆盖GetDisplayName:

代码语言:javascript
复制
function TMyCollectionItem.GetDisplayName: string; 
begin 
  Result := 'My collection item name'; 
end;

要在双击非可视化组件时显示集合编辑器,需要覆盖TComponentEditor编辑过程。

代码语言:javascript
复制
TMyPropertyEditor = class(TComponentEditor)
public
  procedure Edit; override; // <-- Display the editor here
end;

..。并注册编辑器:

代码语言:javascript
复制
RegisterComponentEditor(TMyCollectionComponent, TMyPropertyEditor);
票数 5
EN

Stack Overflow用户

发布于 2009-09-12 14:14:50

编辑器中显示的名称存储在项的DisplayName属性中。尝试将代码设置为在创建链接时设置如下内容:

代码语言:javascript
复制
item.DisplayName := linkedItem.Name;

但是,如果用户已经设置了DisplayName,请注意不要更改它。这是一个主要的UI烦恼。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1415193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档