Delphi Designer,是否继承了组件?

Dan*_*rić 6 ide delphi design-time designer

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

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

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

选择包含在祖先中引入的组件xxx,不能删除.

这不是太糟糕,但我宁愿首先禁用删除按钮.

Dan*_*rić 9

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

ComponentState中的csAncestor

记录在案:

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

  • 很好.做得好.也许有人应该告诉Embarcadero这个,以便他们可以修复他们的动作列表编辑器! (3认同)