6

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

现在,我想知道所选组件是否被继承,以便我可以禁用删除按钮。IDesigner我在或相关接口中没有找到任何这样的成员。

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

选择包含一个组件,xxx,在祖先中引入并且不能被删除。

这还不错,但我宁愿首先禁用删除按钮。

4

1 回答 1

9

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

ComponentState 中的 csAncestor

记录在案

csAncestor - 组件以祖先形式引入。仅当 csDesigning 也设置时才设置。

于 2013-03-04T22:03:54.900 回答