Delphi Designer,是否继承了组件?

时间:2013-03-04 19:57:40

标签: delphi ide designer design-time

我正在编写一个自定义组件编辑器,基本上类似于TActionList编辑器,因为它允许创建子组件。 编辑器具有添加/删除组件的按钮。

现在,我想知道是否继承了所选组件,以便我可以禁用删除按钮。 我在IDesigner或相关接口中找不到任何此类成员。

如果我继续按Designer.DeleteSelection(True);删除,那么我会得到一个例外:

  

选择包含一个组件,xxx,在一个   祖先,不能删除。

这不是太糟糕,但我想首先禁用删除按钮。

1 个答案:

答案 0 :(得分:9)

好的,显然有一种方法,通过检查TComponent.ComponentState csAncestor,所以:

  

ComponentState中的csAncestor

它是documented

  

csAncestor - 该组件以祖先形式引入。仅在设置了csDesigning时设置。